
AndroidSDK开发
文章平均质量分 66
Joern-Lee
嵌入式-物联网-美好的未来~~~
展开
-
Android studio 打开别人的工程
Android Studio正确打开项目只需要两步,或者说找到两个文件进行简单的修改就好,最好在打开之前进行修改(1)gradle-wrapper.properities,在项目下按照如下路径可以找到 ...../gradle/wrapper/ gradle-wrapper.properities 打开后可以看到最后一行是一个地址链接,重点是链接的最后部分gradle-2...原创 2017-03-14 16:44:27 · 2595 阅读 · 0 评论 -
Android 中Activity,Window和View之间的关系
我想大多数人,对于这3个东西的概念能区分,但是具体区别在哪却很难说出来。我这里根据我个人的理解来讲讲我个人对这3个概念的理解。当然这里设计到通用的事件窗口模型等通用GUI设计,我这里就不打算讲了,纯粹从概念上来进行区分。Activity是Android应用程序的载体,允许用户在其上创建一个用户界面,并提供用户处理事件的API,如onKeyEvent, onTouchEvent等。 并维护应用程序的...转载 2018-03-05 10:13:06 · 532 阅读 · 0 评论 -
Android工程编译时"No resource found"错误-附相关拓展知识
一、问题处理刚刚在公司编译的时候突然报错,其实昨天还是好好的,具体报错log如下/Users/dongboqi/android_2/build_tmp_cache/dcdfa5e69b328d9c932f8e56db2f3b8b2ec4271a/output/res/layout/pay_ad_layout.xmlError:(30, 32) No resource found that mat...原创 2018-06-29 22:01:41 · 1792 阅读 · 0 评论 -
freeline-减少项目编译时间
我们准备使用freeline来减少每一次编译运行的时间,Freeline 是 Android 平台上的秒级编译方案,Instant Run 的替代品,由蚂蚁聚宝Android 团队开发,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时,对于多个模块项目来说效果尤为显著为Android开发者节省很多喝杯咖啡的时间 : )Gi...原创 2018-06-26 22:57:22 · 278 阅读 · 0 评论 -
Activity的onCreate方法里面子线程为何能设置UI界面
这是之前朋友被问的一个面试问题,一般情况下我们都知道Android是不允许子线程更新UI的(通过单线程避免多线程的同步更新问题),但是为什么在onCreate方法里面却可以呢,自己试了一下,在onCreate方法直接new一个子线程并执行类似TextView.setText("Joern")这样的指令,发现的确可以没有报错,其实这个我们分析一下setText的代码就可以发现问题所在。发现setTe...原创 2018-07-04 17:58:58 · 1103 阅读 · 0 评论 -
android studio 报 Resolved versions for app (26.1.0) and test app (27.1.1)differ 错误的原因与解决方法
最近忙着学校课题好久没有搞Android,找了个开源项目做了做,刚新建完项目编译就报了如下错误:意思应该是本地和测试包依赖的项目版本不同导致。神奇的是我们重新ReBuild一下项目这个报错就没了,但是本着求实的态度我还是去搜索了一下产生的原因:首先是我的项目的依赖dependencies { implementation fileTree(dir: 'libs', i...原创 2018-10-18 21:14:08 · 252 阅读 · 0 评论 -
如何获取Gradle dependencies report(gradle依赖报告)
这部分内容是之前那个依赖测试包问题看到的答案下面的,有一位大佬梳理了一下这个过程,我在这边翻译一下也供大家参考吧:步骤1在项目根目录下执行获取依赖报告的gradle,比如gradle -q app:dependencies 详细的可以看这里这可以提供与该问题有关的以ASCⅡ码呈现的树,它会帮助你判断哪些是有冲突的版本+--- com.android.support.t...原创 2018-10-18 21:46:14 · 1397 阅读 · 0 评论 -
Activity的全屏设置
设置启动页的时候,大家应该都会有需要启动页Activity设置为全屏(FullScreen)的需求吧,但是这里一开始我遇到一点小问题:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.joern.happynumber/com.example.joern.happynumber.Mai...原创 2018-10-22 21:37:28 · 470 阅读 · 0 评论 -
总结常用的Android屏幕适配方案
本文主要介绍了目前常用的四种屏幕适配方案:dp适配、宽高限定符适配、今日头条density适配以及sw限定符适配,文中概括了各种适配的思路和实现,并贴上了深入学习的参考链接,希望能帮助大家更好地进行屏幕适配的工作原创 2018-10-25 10:48:24 · 899 阅读 · 0 评论 -
Android报错:Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW
今天调试程序的报了一个错误:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?通过分析Log和网上查...原创 2019-07-25 21:01:25 · 5253 阅读 · 1 评论 -
记2017上海谷歌开发者大会:第一天
前言今年受到朋友推荐申请了谷歌开发者大会的资格并完成了审核,在学校请了两天假去一睹谷歌开发者大会~不得不说谷歌真是大方,到场所有人人手一个Android things开发板和电脑包,还有各种数不清的限量版T恤以及玩偶,只要参与活动基本都能获得。下面我就把第一天(12月13日)的笔记同大家分享一下,毕竟我也是搞技术的,所以分会场的笔记可能和技术方面相关,如果有写错的或者不准确的也希望大家批评指正O(∩原创 2017-12-15 17:35:44 · 3450 阅读 · 3 评论 -
科大讯飞的语音合成(播放)功能
1.去官网注册账号科大讯飞要求使用SDK必须注册账号并设定你的应用绑定,这样才会生成一个你的AppID,用这个ID才能在你的应用中使用讯飞的SDK科大讯飞开放平台2.下载SDK注册好了以后,你必须添加你的应用,然后会出现你的专属的AppID,之后进入SDK下载界面,选择语音合成SDK包-Android-你的应用,然后就可以下载了。3.添加libs(注意Android s...原创 2017-11-30 09:26:56 · 4403 阅读 · 0 评论 -
最全Android学习路线总结,绝对干货
一、前言不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后以我的工作经验给大家总结一下,让你们少走弯路,提取一些工作中经常用到的转载 2017-03-14 16:46:57 · 5262 阅读 · 0 评论 -
Android入门项目1:简易计算器
这个简易计算器的实现我是参照慕课网上的视频课程学习的,下面梳理我的开发过程以及DEBUG 在这个项目中实现计算器的第一步骤是对界面UI的设计,UI的设计并不难,一个总的Lnearlayout的布局下orientation设置为vertical垂直分布,然后此布局下再设置1给我Edittext的一个文本框4个Lnearlayout子布局(第4个布局里可以嵌套另外3个Lnearl转载 2017-02-19 23:10:32 · 652 阅读 · 0 评论 -
Android BLE学习笔记
转载自http://blog.youkuaiyun.com/xiaoyaoyou1212/article/details/51854454感觉的确写的很棒,给大家分享一下~ 前言: 本文主要描述Android BLE的一些基础知识及相关操作流程,不牵扯具体的业务实现,其中提供了针对广播包及响应包的解析思路,希望对正在或即将面临android BLE开发的伙伴们有所引导。 注:其中的单模、...转载 2017-07-19 09:30:23 · 527 阅读 · 0 评论 -
梅特勒杯创新大赛(一):带有主题的Android Drawer
前段时间一直都在忙于研究生电子设计大赛和梅特勒创意大赛,所以这几个月几乎没有怎么更新博客,现在比赛已经结束了,我就想趁这段时间把之前做的App的功能提取出来分开进行一个讲解,因为App整体是为智能硬件(运动手环和三激光测量系统)提供服务的,叙述整体的功能用处不大。 这一部分想提一下Drawer的使用,对于Drawer的基本官方框架网上都有的,但是我并没有找到带有顶部主题的,于是自己探索了一...原创 2017-08-31 19:59:22 · 336 阅读 · 0 评论 -
梅特勒杯创新大赛(二):Android姿态传感器-三轴角度
这一部分我们讨论Android的姿态传感器中对于三轴角度的数据读取与应用。1.初始化 //初始化姿态传感器 private void init_sensor(){ sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); //加速度传感器和地磁传感器 ...原创 2017-08-31 20:12:22 · 1451 阅读 · 0 评论 -
梅特勒杯创新大赛(三):Android的GPS定位功能
这部分主要阐述如何获取手机定位的经纬度数据,逻辑较简单,所以下面以代码为主1.初始化工作-权限动态申请 //对于定位服务权限判断 private void init_right() { if (mBluetoothAdapter.isEnabled()) { if (Build.VERSION.SDK_INT >= Build.V...原创 2017-09-01 14:42:30 · 304 阅读 · 0 评论 -
梅特勒杯创新大赛(四):Android的相机使用与屏幕截图
这一部分我们将探讨对于Android手机相机的调用以及图片的显示和保存。相机调用照片显示照片保存1. 相机调用动态权限申请 if (getActivity().checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { //权限没有被授予原创 2017-09-01 15:51:55 · 389 阅读 · 0 评论 -
梅特勒杯创新大赛(五):自定义ImageView-手控标记点
1.自定义onDraw()方法首先我们继承自ImageView并需要重写这个方法,我们的项目需求是通过对ImageView所展示的图片进行点的标记,即通过触摸屏幕进行标点动作,首先在onDraw()方法里面我们根据类的坐标参数进行O,X,Y,Z四个点的绘制,同时O和另外三个点通过线进行连接,代码如下: @Override protected void onDraw(Canvas canva原创 2017-09-05 00:05:21 · 456 阅读 · 0 评论 -
Android BLE开发
这次实际项目中要求了手机终端和低功耗蓝牙即蓝牙4.0通讯的功能,所以这次我也就把我自己的Android代码同大家分享,稍后考虑将框架整理后上传Github供大家交流学习。1.蓝牙初始化 //初始化蓝牙设备 private void init_ble() { // 手机硬件支持蓝牙 if (!getPackageManager().hasSystemFeat原创 2017-09-07 09:40:47 · 631 阅读 · 0 评论 -
Android系统架构初探
优快云博客里面看到的一篇非常好的介绍总体架构的文章,在此转载过来同大家包括我自己一起分享!环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究。这里从芯片及硬件模块->linux内核驱动->hal层->jni->android framework层->androi转载 2017-10-12 16:29:46 · 266 阅读 · 0 评论 -
ADB调试环境配置
接着配置一下adb调试工具每做完一步,都可以试试adb命令能不能用。三步都做完应该就能解决adb不能用的问题。1、保证SDK路径下的platform-tools和tools文件夹中包含adb.exe ,AdbWinApi.dll,AdbWinUsbApi.dll三个文件。2、在系统环境变量path中添加adb路径,对应platform-tools 和 tools ...原创 2019-09-01 22:03:32 · 734 阅读 · 0 评论