安卓学习笔记
金海晗
这个作者很懒,什么都没留下…
展开
-
访问内容提供者
访问内容提供者,可以获取很多其他应用的信息,比如短信,下面就用备份短信的案例备份短信需要在AndroidMainfest.xml中添加权限:<uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_原创 2017-07-17 16:03:09 · 349 阅读 · 0 评论 -
Android使用WiFi adb调试
在进行Android开发的时候,虚拟机虽然起到了很大的作用,但是有些调试必须在真机上测试,对数据线的频繁插拔不仅不方便,还可能造成手机的损坏或者磨损,反正比较不方便。原创 2017-08-02 14:14:15 · 432 阅读 · 0 评论 -
【Android】Audio音频输出通道切换 - 蓝牙、外放
手机音频的输出有外放(Speaker)、听筒(Telephone Receiver)、有线耳机(WiredHeadset)、蓝牙音箱(Bluetooth A2DP)等输出设备。在平时,电话免提、插拔耳机、连接断开蓝牙设备等操作系统都会自动切换Audio音频到相应的输出设备上。比如电话免提就是从听筒切换到外放扬声器,插入耳机就是从外放切换到耳机。场景需求Android系统自动切换的这转载 2017-08-02 14:42:25 · 31645 阅读 · 3 评论 -
主页面设计-动态加载fragment
首先说明动态加载的步骤:布局文件建立Fragment,并且定义RadioButton(用于触发点击事件并加载Fragment,非必须)在java代码中获取到RadioGroup设定RadioGroup点击变换的事件setOnCheckedChangeListener设定如果点击的ID和目标ID相等,则触发加载Fragment事件加载指定Fragment原创 2016-12-13 17:27:32 · 553 阅读 · 0 评论 -
Android悬浮窗及其拖动事件
感谢原作者:尧石主页面布局很简单,只有一个RelativelyLayoutRelativeLayout android:id="@+id/rl_content" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/t转载 2017-08-25 10:46:22 · 523 阅读 · 0 评论 -
安卓动态权限管理
感谢原作者:dfqin原帖地址:http://blog.csdn.net/dfqin/article/details/551900731、前言从Android 6.0(API 23)开始,对系统权限做了很大的改变。在之前用户安装APP前,只是把APP需要使用的权限列出来给用户告知一下,APP安装后都可以访问这些权限。从6.0开始,一些敏感权限,需要在使用时动态申请,转载 2017-08-25 10:48:47 · 294 阅读 · 0 评论 -
动态申请权限允许后fragment崩溃
前言前几天做一个小程序,基于Android O,miniSDK版本是Android 5.0 一开始用的Android O的虚拟机和7.1.2的一加3测试没问题 但是发布之后,小伙伴说Android M(6.0) 不给权限死,给了权限反而闪退(我程序启动先加载一个Fragment,而这个fragment需要权限,所以我就设定给了权限加载,不给权限停在一个空白页面啥都不做,所以导致不给权限没啥事,给原创 2017-08-25 10:58:53 · 1014 阅读 · 0 评论 -
CoordinatorLayout/AppBarLayout/Toolbar/TabLayout遮挡下方布局
在Android Studio的新建工程中,有Viewpager with Tabs(tab栏可滑动)的布局,这种布局,在tab下方,使用的是一个ViewPager 之前使用ViewPager的时候遇到一个问题,就是更新Viewpager内部的Fragment列表或者更换ViewPager的Adapter的时候,ViewPager无法更新。。。我也不知道为啥网上强制更新的方法都不好使。。。 于是原创 2017-09-25 14:25:57 · 3589 阅读 · 3 评论 -
DrawerLayout沉浸式状态栏
在开发过程中,往往在UI上需要用到沉浸式状态栏 但是有很多坑在里面 在DrawerLayout(侧滑抽屉)为根部局的时候,网上找到的沉浸式状态栏代码往往会失效要么是可以状态栏改颜色,而抽屉画出来的时候还是哪个颜色,遮挡抽屉就算了,还很不协调要么就是可以做半透明了,抽屉出来也正常了,但是不能修改沉浸色两种都很丑简单的解决方式: DrawerLayout下面会有一个CoordinatorLayou原创 2017-09-25 14:16:06 · 4775 阅读 · 0 评论 -
DrawerLayout抽屉更新MainActivity的viewpager
前言在学校课余时间做一个小的APP,配合老师实验室的那个控制系统,想做的美观一些,APP实现后界面如下: 默认来说,Mainactivity里面应该是一个ViewPager,但是这个遇到了一个问题,在侧栏抽屉选中更新的时候,ViewPager内容更改,Adapter更换或者直接更换ViewPager,但是不管是哪种情况Viewpager都不更新!!!后来走投无路,更换了策略才解决了这个问题在原原创 2017-10-09 16:01:19 · 352 阅读 · 0 评论 -
创建广播接收者、以及常用系统广播
系统和应用会发出广播,比如系统开机完成之后会放出一个开机完成的广播,而很多毒瘤软件开机自启就是检测收到这个广播之后启动后台服务,IP拨号器是在拨号的时候收到拨号广播,解锁时候也有广播。。。。广播利用的好的话,可以给用户更加好的体验,用不好的话,就比较恶心了那么如何创建广播接收者来接受广播呢要对广播进行事件处理,需要创建一个类继承自BroadcastReceiver,然后重写OnReceive方法。原创 2017-07-17 16:02:37 · 861 阅读 · 0 评论 -
从网络获取数据,并绑定到listview上
从网络获取数据,并绑定到listview上从网络上获取的数据都是JSON格式的,所以要做JSON解析,导入GSON包在APP目录下的build.gradle里面添加: compile 'com.google.code.gson:gson:2.4' 在AndroidManifest.xml中添加网络权限: <uses-permission android:name="android.perm原创 2017-07-17 16:01:59 · 3232 阅读 · 0 评论 -
安卓闪屏页设计
闪屏页,就是一个Image view加上一个从透明到显示的动画,接下来详细记录:首先,闪屏页需要一个动画,用AlphaAnimation来实现AlphaAnimation alpha = new AlphaAnimation(0,1);使用setDuration方法可以设置动画时长:alpha.setDuration(原创 2016-12-13 17:36:27 · 491 阅读 · 0 评论 -
主页面设计-单排list
注1:这是结合动态加载Fragment的写法,区别另行标注。注2:这里为list赋值的方式是本地生成。步骤:设置一个list,将东西加入list里,然后设置适配器,结束。在要显示list的类里新建一个list(假设list的内容是shop):Listshop> shopList = new ArrayList为list添加内容:原创 2016-12-13 17:39:28 · 528 阅读 · 0 评论 -
主页面设计-双排list
连接上一节的主页面设计-单排list,除了适配器和模板以外,基本与单排list相同因为有了单排list的基础,所以直接说明区别:在list中,一行要显示两个项目,所以模板就是一行两个项目,项目的显示内容相同。假设有50个东西,双排显示,就是25行,49个也是25行,所以public int getCount() { int a;原创 2016-12-13 17:40:17 · 534 阅读 · 0 评论 -
从网络获取资源(图片)
从网络获取图片资源有两种方式。一种是通过安卓原生的方法:另外一种是使用Glide方法,第二种比较简单,先说第一种,再说第二种第一种:安卓原生:HttpURLConnection:设置步骤:布局文件设置一个ImageView用于存放从网络获取的图片,一个button来获取(获取启动方式不唯一,button为例)创建一个新线程原创 2016-12-13 17:42:32 · 775 阅读 · 0 评论 -
从网络获取资源并转换成对象
在网络获取资源并转换成对象,然后将对象赋值给每个list的项,所以需要一个list来显示它,所以这篇笔记建立在设计双排list的基础之上。所以之前的用for循环给list赋值的那一段就直接取消了,在网上获取一个list直接放适配器就好。在网上获取list,用的是OKHTTP这个,获取到的是字符串,用JSON格式进行解析就可以获取到对象了。原创 2016-12-13 17:47:44 · 737 阅读 · 0 评论 -
如何导入下载的jar、so包和library
下载了jar包、第三方so包和library如何导入原创 2017-06-05 14:02:29 · 795 阅读 · 0 评论 -
ANDROID打包错误ERROR:EXECUTION FAILED FOR TASK ´:APP:LINTVITALRELEASE´.
错误信息Error:Execution failed for task ´:app:lintVitalRelease´.> Lint found fatal errors while assembling a release target. To proceed, either fix the issues identified by lint, or modify your bui转载 2017-06-03 10:52:29 · 4799 阅读 · 0 评论 -
Android Studio debug使用release的签名
有时候导入某些SDK的时候需要设定签名,此时debug签名和release签名来回切换就比较麻烦了想要让两个的签名一样,可以在project structure里面的modules里面选择你要更改签名的工程,选择singing选项卡,在里面添加一个新的签名选项,添加完成之后,在build.gradle里面就会出现一段新的代码:signingConfigs { debug {原创 2017-06-03 11:19:45 · 437 阅读 · 0 评论 -
didn't find class on path dexpathlist错误解决办法
今天在写slidingmenu和fragment示例demo的时候,发现应用程序部署到手机会直接崩掉,logcat里面提示的消息如下: 出现了didn’t find class on path dexpathlist错误,于是上google搜答案,发现stackoverflow上面有很多人遇到这个问题,于是找了个赞比较多的答案,看了看,确实是那么回事,之前从actionbarsherlock中转载 2017-07-04 19:09:23 · 14830 阅读 · 0 评论 -
Android Widget 开发详解(二) +支持listView滑动的widget
转载请标明出处:http://blog.csdn.net/sk719887916/article/details/47027263不少开发项目中都会有widget功能,别小瞧了它,他也是android的七大组件之一,对widget陌生的朋友可以阅读下我的上篇文章Android Widget工作原理详解(一)>关于内部的介绍,还没掌握的同学不要担心,开发AppWidget转载 2017-10-09 19:36:19 · 419 阅读 · 0 评论