这是一篇迟来的博客,AndroidM已经发布一年多了(6.0的变化),在AndroidM中权限系统被重新设计,发生了颠覆性的变化,很多人把握不好这个变化,一是对这个权限策略和套路还没有摸透,二是没有一个很好的实践来支撑,在我的技术开发群里很多人问我关于权限的问题,往往我都没有直接回答,因为这个问题不是一两句说的清楚的,这几点是今天我写这篇博客的原因。这里有一切关于Android运行时权限你需要知道的,包括如何在代码中实...
2021-03-09 09:35:31 1.4w浏览 0点赞 0回复 0收藏
百度搜索Androidstudio,或者直接输入http:www.androidstudio.org进入这个页面根据这个下载相应的安装包或者压缩包。这里演示安装64位的androidstudio下载完成后直接双击安装包,就会出来下面这个界面点击Next点击Next点击Next点击install等待进度条走完点击Next点击finish选择第二个,点击ok两个都可以,我点击Don’tsend点击Cancel点击Next选择第一个,点击Next选择你想要的主题颜色,点击Next点击Finish进度条走完后点...
2021-03-09 09:34:40 1.2w浏览 0点赞 0回复 0收藏
前言:今天下午到晚上折腾了6个多小时,从官网一直到Gitee和CodeChina,把所有知道的资料都看了一下,整理了一份鸿蒙架构和源码对比图给大家,希望大家都来看看。文章目录O、视频观看地址:一、鸿蒙结构图自制版(结合源码重新制作)制作过程解密:二、思维导图图解鸿蒙结构以及对应的源码目录三、制作每一个库的内容介绍以及和架构图的对照详细表格1、官方文档给出的分类(补充:每个仓库介绍和数量)制作过程解密:2、官方文...
2021-03-08 09:51:51 1.5w浏览 0点赞 0回复 0收藏
石头剪刀布:猜拳小游戏规则:石头锤剪刀,剪刀咔布,布包石头软件:PyCharm语言:python级别:primary人机对战,敢不敢来挑战!人从石头剪刀布中输入自己要出的筹码,机器自动生成ifname'main':print("请输入您的筹码:")print('notes:1.石头2.剪刀3.布')aeval(input(''))brandom.randint(1,3)根据规则,判断输赢ifab:print('平手')elifab1orab2:print('恭喜你,你赢啦!')else:print('不要灰心,再来一次吧!')notes:仔细观察...
2021-03-08 09:51:09 7650浏览 0点赞 0回复 0收藏
N(ID:CSDNnews)StackShare是一个开发者工具及服务分享平台,成立于2013年,随着开发者们的不断加入,汇集了大量的优质工具。该网站汇总了以往30多万个技术堆栈中的使用情况,分析了800万个数据点,跟踪了320万以上的内容,以及数百万的开发人员评论和投票,最终为大家总结了2020年开发工具Top100。年度开发工具Top251Simple线上协作让推进工作流和追踪项目进度更简单的工具https:simpletracker.com2BetterUptime网站监控当网...
2021-03-08 09:50:45 1.2w浏览 2点赞 1回复 0收藏
鸿蒙开发核心之Ability详解一、Ability用途  在知道用法之前,首先你是不是得知道这个Ability怎么读?对了,Ability(音译:阿B了D),中文意思就是能力,不要给我扯什么音标啥的,不好使,你仔细想一下,你是因为英语学得好才来当程序员的吗?Toyoungtosimple!  Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个Ability),HarmonyOS支持应用以Abi...
2021-03-08 09:43:22 2.2w浏览 0点赞 0回复 1收藏
然后三、ServiceAbility讲解 先来看一下ServiceAbility的官方解释基于Service模板的Ability(以下简称“Service”)主要用于后台运行任务(如执行音乐播放、文件下载等),但不提供用户交互界面。Service可由其他应用或Ability启动,即使用户切换到其他应用,Service仍将在后台继续运行。  Service是单实例的。在一个设备上,相同的Service只会存在一个实例。如果多个Ability共用这个实例,只有当与Service绑定...
2021-03-08 09:43:04 2.2w浏览 2点赞 0回复 1收藏
四、DataAbility讲解 使用Data模板的Ability(以下简称“Data”)有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。  数据的存放形式多样,可以是数据库,也可以是磁盘上的文件。Data对外提供对数据的增、删、改、查,以及打开文件等接口,这些接口的具体实现由开发者提供。说起来和Android的ContentPro...
2021-03-08 09:42:39 2.3w浏览 0点赞 1回复 1收藏
鸿蒙开发核心之任务分发讲解一、简单说明  说起鸿蒙的线程就不得不说Android的线程,相信都知道在Android中,每一个应用都会有自己的主线程和其他的子线程,主线程负责处理大部分业务,负责UI的显示和更新等操作,所以又称之为UI线程,同时,我们还知道不能够在UI线程中进行一些耗时操作,比如网络访问、数据读写等一些功能会启动一个子线程,或者异步线程来进行,这样做可以避免出现程序无法响应这样的情况,也就是A...
2021-03-05 09:47:52 1.5w浏览 0点赞 0回复 0收藏
三、线程通信  在开发过程中,开发者经常需要在当前线程中处理下载任务等较为耗时的操作,但是又不希望当前的线程受到阻塞。此时,就可以使用EventHandler机制。EventHandler是HarmonyOS用于处理线程间通信的一种机制,可以通过EventRunner创建新线程,将耗时的操作放到新线程上执行。这样既不阻塞原来的线程,任务又可以得到合理的处理。比如:主线程使用EventHandler创建子线程,子线程做耗时的下载图片操作,下载...
2021-03-05 09:47:34 1.5w浏览 0点赞 0回复 0收藏
选择AndroidLibrary前言  其实之前我是写过相关的MVP文章的,只不过当时在是天气APP中,而这里是单独拉出来讲,因此会有一些不同。正文先在AndroidStudio中创建一个名为MvpDemo的项目。创建好如下图所示一、创建mvp模块再创建一个依赖模块,File→New→NewModule…选择AndroidLibraryNext,修改一下模块名字点击Finish,你的mvplibrary模块就创建完成了。下面在app模块中依赖mvplibrary模块。在AS的右上角工...
2021-03-05 09:47:17 1.2w浏览 0点赞 0回复 0收藏
前言在未来做项目中,一些功能模块可能会采用不同的语言进行编写。这就需要http请求进行模块的调用。那么下面,我将以Java为例,详细说明如何发起http请求。一、GET与POSTGET和POST是HTTP的两个常用方法。GET指从指定的服务器中获取数据POST指提交数据给指定的服务器处理1.GET方法使用GET方法,需要传递的参数被附加在URL地址后面一起发送到服务器。例如:http:121.41.111.94submitnamezxy&age21特点:GET请求能够被缓存GET请求...
2021-03-05 09:47:02 1.4w浏览 0点赞 0回复 0收藏
什么是FlaskFlask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug,模板引擎则使用Jinja2。Flask使用BSD授权。以下程序均在自己服务器上运行(在vscode利用ssh进行连接)安装flask模块首先使用pip进行安装:pipinstallflask在所在项目文件夹下创建templates文件夹(用于存放html等文件)和app.py,如图:HelloWorld我们可以在templates文件中新建index.html文件,其内容如下:<html><h1>HelloWord!<h1><htm...
2021-03-05 09:46:48 3.2w浏览 1点赞 0回复 1收藏
“今年4月份,华为MateX2将首批升级鸿蒙HarmonyOS。”华为MateX2发布会中,华为消费者业务CEO余承东向外宣布了这一消息。2月25日,“年度理财产品”华为MateX2首度开售,瞬间售罄。不过,想要体验鸿蒙,并不非要等这款手机。在2021MWC上海展上,华为展示了大批搭载了HarmonyOS的智能产品,并演示了智能手机、手表、车机和智能家居等设备之间操作交互。华为消费者业务软件部总裁王成录此前在演讲中表示,HarmonyOS是一个面向未来...
2021-03-04 11:31:27 1.2w浏览 2点赞 4回复 0收藏
今年搭载鸿蒙操作系统的物联网设备有望达到3亿台,其中手机将超过2亿台。从4月开始,消费者很快就能尝鲜鸿蒙带来的新体验。记者3月2日获悉,华为消费者业务软件部总裁、鸿蒙操作系统负责人王成录表示,今年将力争让鸿蒙生态的市场份额达到16%,跨越生态繁荣分水岭的这道坎。虽然华为上了美国商务部实体清单,业内也曾有观点认为,未来华为不排除会彻底退出手机市场的可能。但王成录对此明确表态,华为手机业务肯定会始终存在下...
2021-03-04 10:52:38 7178浏览 1点赞 3回复 0收藏
效果图前言你会画画吗?你会写代码吗?你会用代码画画吗?正文自定义View,实际开发过程中,因为涉及用户体验的时候,UI通常会弄一些骚操作出来,这个时候就有两个选择,你是用GIF呢还是自己自定义一个呢?用GIF当然会增加你的APP的体积,而自定义View难度也不小,于是很多人都会选择用GIF先解决这个问题,后面再去自己自定义,然后就没有然后了(PS:曾经我也是这样的一个人,但是,人是会变的,小老弟),好了,说了一些废话...
2021-03-04 10:33:11 1.6w浏览 0点赞 0回复 0收藏
前言  做Android开发肯定对APK不陌生,你现在Android手机上所有的应用都是apk,只不过分为系统自带和第三方。正文  Android打包APK在开发中是必不可少的一个环节,相信你可能已经会了,或者在别的博客中看到过了,但是其实还有一些细节是你所不知道的。一、新建项目  本着实践的态度,新建一个GenerateAPK项目。创建完成之后,你可以运行一下,运行在真机或者虚拟机都可以。二、生成Debug和Relea...
2021-03-04 10:32:36 1.9w浏览 0点赞 0回复 0收藏
书接上回下面通过秘钥jks来生成debug包试试看。点击Finish。把这个发到你的手机上。你会发现也是可以安装的,这是为什么呢?那个这种方式生成的包在实际开发中起到什么作用呢?在实际开发中,如果是自己测试,那么通过就直接用usb安装在手机上,此时就是文中第一种情况。而如果当项目要上线或者上应用市场时,就需要用jks来生成release包上传到应用市场上。实际开发中还有一点就是你的应用自己自己测试的并不是很到位,因此产品...
2021-03-04 10:32:05 1.4w浏览 0点赞 0回复 0收藏
前言为了丰富这个对于AndroidSQLite的使用,特别写了这篇文章,也算是做一个笔记吧。效果图正文LitePal是Android中比较轻便的开源数据库框架,是郭霖大神写的,本文只做最简单的使用。①创建项目然后是导入一些依赖库,其中包括LitePal,还有一些是为了方便展示数据的。②配置项目在app下的build.gradle中添加配置compileOptions{指定使用的JDK1.8sourceCompatibility1.8targetCompatibility1.8}dataBinding{enabledtrue}数据解...
2021-03-04 10:31:35 1.4w浏览 0点赞 0回复 0收藏
下面进入使用环节了,回到app模块。八、使用网络框架目前app模块下只有这一个孤零零的MainActivity。首先在app下的com.llw.network下新建一个application包,(在实际开发中尽量要避免包名重复的情况),在这个包下创建一个NetworkRequiredInfo类,然后实现network模块下的INetworkRequiredInfo接口。你会发现,这个报红,这时因为你没有添加network模块的依赖,那么有三种方式可以添加,1.添加网络模块依赖①当前项目添加第一...
2021-03-04 10:31:10 1.1w浏览 0点赞 0回复 1收藏