安卓知识
文章平均质量分 56
BriskLyer
这个作者很懒,什么都没留下…
展开
-
Android 6.0 运行时权限
什么时候需要考虑运行时权限运行时权限是Android6.0推出的安全机制,当你的app运行在 Android 6.0 及以上设备上,使用危险权限(下面介绍)的时候。既targetSdkVersion >= 23(关于targetSdkVersion可以看看http://blog.csdn.net/qq_27280457/article/details/53541033)如果你的app应用到运行时权原创 2017-06-23 14:26:14 · 484 阅读 · 0 评论 -
Android TextView使用HTML处理字体样式、显示图片等
String类是CharSequence的子类,在CharSequence子类中有一个接口Spanned,即类似html的带标记的文本,我们可以用它来在TextView中显示htmlandroid.text.Html类共提供了三个方法:public static Spanned fromHtml (String source)(上面只能显示纯文本内容)public static原创 2016-03-29 13:49:08 · 788 阅读 · 0 评论 -
Android 百分比布局库(percent-support-lib) 解析与扩展
在安卓5.0后,谷歌最新的百分比布局库(percent-support-lib)。其实LinearLayout的layout_weight也能实现百分比效果,不过这个更直接1.简介这个库提供了:两种布局供大家使用: PercentRelativeLayout、PercentFrameLayout,通过名字就可以看出,这是继承自FrameLayout和RelativeLayo原创 2016-04-06 10:55:35 · 662 阅读 · 0 评论 -
AppCompatActivity
AppCompatActivity介绍在API22之前我们使用标题栏基本都是在ActionBarActivity的Activity中处理的,而API22之后,谷歌遗弃了ActionBarActivity,推荐我们也可以说是强制我们使用AppCompatActivity。AppCompatActivity与Toolbar结合其实我们并不是要使用AppCompatActivity自带的标题栏,那样扩原创 2016-12-02 16:36:09 · 1630 阅读 · 1 评论 -
Android_选项卡
TabHost和FragmentTabHostTabHost命名空间: android.widget.TabHost初始化函数(必须在addTab之前调用): setup(); 包含两个子元素: 1.Tab标签容器TabWidget(@android:id/tabs) 2.Tab内容容器FrameLayout(@android:id/tabcontent)Fra原创 2016-12-06 11:36:01 · 566 阅读 · 0 评论 -
Android Studio 单元测试与模拟测试详解
测试的分类单元测试位于:module-name/src/test/java/.这些测试运行在本地JVM和没有访问Android框架api功能设置环境:您还需要为您的项目配置测试依赖使用标准api提供的JUnit 4的框架。如果您的测试需要与Android依赖关系,包括当地Mockito(详解见文章的下面内容)库来简化你的单元测试。在你的应用程序的顶层。gradle文件时,您需要指定这些库的依原创 2016-12-07 16:55:28 · 1864 阅读 · 0 评论 -
带有标题头的listview
1.首先是两个数据模型类package com.example.titlelistviewdemo;public class Data { private String text1, text2, text3; //数据1 2 3 public Data(String text1, String text2, String text3) { this.text1原创 2016-06-22 14:13:32 · 1304 阅读 · 0 评论 -
解决在部分手机webview字体显示过小的问题
项目里面有个页面用webview来显示的,但是在个别手机(小米)字体过小 ,于是加上了下面的代码//根据屏幕密度设置 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); if (dm.densityDpi > 240 ) {原创 2016-06-30 17:07:19 · 6235 阅读 · 0 评论 -
解决ListView中Item的子控件(比如Button)与Item点击事件冲突
经常会碰到在ListView中点击其中一个Item,会一并触发其子控件的点击事件,例如Item中的Button、ImageButton等,导致了点击Item中Button以外区域也会触发Button点击事件。在网上找了相关方法,这里记录下,亲测可行..1、在Item的xml文件根元素中添加属性:android:descendantFocusability="blocksDescendants"原创 2016-06-30 16:05:13 · 3166 阅读 · 0 评论 -
Android实现类似股票列表联动
1.最近项目在做学校成绩分析这一块,当我看到效果图的时候直接蒙蔽,以为实现起来很难,不过经过研究并不难首先看下效果图2.代码的实现(1)首先上下移动通过scrollview实现左右侧同时滑动,右侧listview通过重写HorizontalScrollView实现右侧上下部分能够同时联动package com.example.leftrightdemo;import原创 2016-06-14 13:51:56 · 3931 阅读 · 1 评论 -
compileSdkVersion, minSdkVersion 和 targetSdkVersion详解
API levelAPI level是一个整数,它指的是我们使用的框架(Framework)的版本,也就是我们使用的sdk中的各个平台下的android.jar。但是这个API level又和Android系统的版本有着对应关系,并且每个系统都会在内部记录它所使用的API level。https://developer.android.com/guide/topics/manifest/uses原创 2016-12-09 16:34:05 · 19783 阅读 · 0 评论 -
WindowManager详解
WindowManager介绍WindowManager是Android中一个重要的Service,是全局且唯一的。WindowManager继承自ViewManager。WindowManager主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。Android中真正展示给用户的是window和view,activity所起的作用主要是处理一些逻辑问题,比如原创 2016-12-14 11:18:50 · 865 阅读 · 0 评论 -
ThumbnailUtils
介绍ThumbnailUtils类,此类位于android.media包下,此类有一个公有的无参构造函数,有三个静态的公有方法,一个用来获取视频第一帧得到的Bitmap,另外两个方法用来对图片进行缩略处理。1.无参的构造函数:ThumbnailUtils()2.三个静态的公有方法: (1).创建一个视频缩略图的方法:public static Bitmap createVideoThumb原创 2016-12-14 11:19:23 · 1342 阅读 · 0 评论 -
ScrollView嵌套RecyclerView,RecyclerView总是把它上面的控件顶出页面
ScrollView嵌套RecyclerView,当我离开当前页面,然后又回来时,RecyclerView就会把它上边的控件都挤出页面,它显示在页面最上边。原因应该是RecyclerView抢了焦点,只需要把ScrollView中最上边的那个控件加上几句代码就可以解决这个问题。 android:focusable="true" android:focusableInTouchMode转载 2017-05-31 13:25:52 · 323 阅读 · 0 评论 -
RecyclerView的点击事件
方法一:利用View.onClickListener及onLongClickListener利用了java回调机制,这里我们依赖于子Item View的onClickListener及onLongClickListener。首先对MyAdapter.java代码做出如下修改:①新建两个内部接口: public interface OnItemClickListener{原创 2017-05-05 16:18:53 · 897 阅读 · 1 评论 -
RecyclerView(入门)
一、简介Android5.0 v7扩展包之RecyclerViewRecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。二、简单实现步骤1.添加依赖compile 'com.android.support:recyclerview-v7:25.3.原创 2017-04-28 10:44:35 · 385 阅读 · 0 评论 -
RecyclerView(ScrollView嵌套,添加HeardView、FootView)
ScrollView里面嵌套RecylerView我们的recyclerView有多个layoutmanager,通过重写layoutmanager的方法就可以让recyclerView和ScrollView嵌套了在应用的时候 recyclerView.setNestedScrollingEnabled(false);//让RecyclerView不可以滑动LinearLayoutManager原创 2017-05-05 09:39:19 · 702 阅读 · 0 评论 -
android studio下的NDK开发详解(一)
好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好。学了一年多的硬件,现在来做Android,不知道是对是错,跟着感觉走,开始总是想把android和硬件挂上勾,所以第一个android应用写的是关于蓝牙的。现在学习NDK开发,有时说得也是JNI开发。那为什么要学习JNI,JNI会学习到比较底层的东西,Java可以实现上层应用的开发,但是不能写底层驱动,有些android项目必转载 2017-03-10 11:37:08 · 682 阅读 · 0 评论 -
新手引导库详解
工作原理首先我们通过GuideBuilder来构造,这个时候我们构造的时候参数通过Configuration来保存;构造完后,我们调用createGuide()来获得Guide,传过去的是我们设置的Configuration和监听对象OnVisibilityChangedListener、Component;我们获得Guide对象后,调用show()方法,这个时候才是真正的绘制(MaskView原创 2017-01-04 16:39:34 · 1383 阅读 · 0 评论 -
Android Preference详解
介绍代表着一种基本的Preference的UI构件当指定使用XML的层次架构的时候,每一个元素都是preference的子类,跟视图的层次跟布局类似这个类中包含一个Key值,这个key值跟SharedPreference的存储键有关系(自己能够储存用户的行为偏好)Android系统会将Preference元素的值存储在sharedPreference文件中。该文件存放路径位于DDMS视图下的原创 2016-12-16 15:49:32 · 1169 阅读 · 0 评论 -
Android自定义捕获Application全局异常
原文地址:http://blog.csdn.net/u012516952/article/details/50504610在MainActivity.java代码中,代码是这样写的:[java] view plain copypackage com.example.crash; import android.app.转载 2016-04-22 10:21:52 · 395 阅读 · 0 评论 -
Android将应用log信息保存文件
当我们的软件安装在手机上的时候,或许还需要知道整个软件运行的情况,那么我们就需要一种把软件运行的状况记录下来,保存在某个地方(本地文件,以下就是解决方法)package com.way.util; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException;原创 2016-04-18 17:02:50 · 412 阅读 · 0 评论 -
APK 签名
为什么要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名可以保证相当名字,但是签名不同的包不被替换。 APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已原创 2016-04-14 10:04:54 · 816 阅读 · 0 评论 -
安卓 Spinner详解
1.最简单的Spinner在布局文件中添加Spinner控件<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Spinn原创 2016-06-15 10:04:17 · 802 阅读 · 0 评论 -
安卓 数据库操作详解
一.SQLite的介绍1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等原创 2016-06-30 14:26:04 · 26768 阅读 · 6 评论 -
多媒体编程
多媒体编程文字、图片、音频、视频(这里仅仅对银频和视频详解)音频播放器创建方法方式一、MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);mediaPlayer.start(); // no need to call prepare(); create() does that for you方式原创 2016-07-11 14:10:26 · 3244 阅读 · 0 评论 -
去掉Activity的头部标题栏及全屏显示
1.在xml文件中修改的方法打开AndroidManifest.xml文件,找到application节点[html] view plaincopyapplication android:icon="@drawable/ic_launcher" android:label="@string/ap原创 2016-05-09 14:28:46 · 2136 阅读 · 1 评论 -
Android中,调用Email
在Android中,调用Email有三种类型的Intent: * Intent.ACTION_SENDTO 无附件的发送 * Intent.ACTION_SEND 带附件的发送 * Intent.ACTION_SEND_MULTIPLE 带有多附件的发送// 1.无附件的发送Intent i = new Intent(Intent.ACTION_SEND);// i.s原创 2016-05-19 13:45:51 · 627 阅读 · 0 评论 -
PopupWindow浮动窗
PopupWindow的官方定义如下:A popup window that can be used to display an arbitrary view. The popup window is a floating container that appears on top of the current activity.也就是说它是一个浮动在当前界面上方并且可以显示在任意位置原创 2016-04-08 16:52:05 · 443 阅读 · 0 评论 -
TextView属性大全
常用属性:android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width 的区别看这里。android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)android:textColor设置文本颜色android:text设置显示文本.androi原创 2016-03-15 10:10:53 · 405 阅读 · 0 评论 -
Android动画分类和详解
Android包含三种动画:View Animation、 Drawable Animation、Property Animation(Android3.0新引入)。View Animation :简介:基于View的渐变动画,她只改变了View的绘制效果,而实际属性值未变。比如动画移动一个按钮位置,但按钮点击的实际位置仍未改变。在代码中定义动画,可以参考Animation原创 2016-03-21 15:18:41 · 730 阅读 · 0 评论 -
Android Fragment 完全解析
1、Fragment的产生与介绍Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必在Activity写一堆控件的转载 2016-03-21 13:37:55 · 398 阅读 · 0 评论 -
内容提供者ContentProvider的基本使用
感觉别人总结的挺好就直接拿过来收藏了一、ContentProvider简介当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。ContentProvider为存储和获取数据提供了统一的接口。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如采用文件方式对外共享数据,需要进行文件操作读写数据;转载 2016-07-04 10:50:07 · 8491 阅读 · 0 评论 -
安卓数据存储总结及详解
前言(首先说说什么存储的几个概念)打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?在Android开发中我们常常听到这样几个概念,内存,内部存储,外部存储,很多人常常将这三个东西搞混,那么我们今天就先来详细说说这三个东西是怎么回事?内存:原创 2016-06-30 09:27:56 · 5384 阅读 · 2 评论 -
安卓常见布局
常见布局相对布局RelativeLayout组件默认左对齐、顶部对齐设置组件在指定组件的右边 android:layout_toRightOf="@id/tv1"设置在指定组件的下边android:layout_below="@id/tv1"设置右对齐父元素android:layout_alignParentRight="true"设置与指定组件右对齐 android:layout_alignR原创 2016-07-05 15:08:47 · 384 阅读 · 0 评论 -
android开发两种退出程序方式(killProcess,System.exit)
KillProcess:在android中我们如果想要程序的进程结束可以这样写:android.os.Process.killProcess(android.os.Process.myPid());这样就可以从操作系统中结束掉当前程序的进程。注意:android中所有的activity都在主进程中,在Androidmanifest.xml中可以设置成启动不同进程,Ser原创 2016-04-11 16:07:43 · 3863 阅读 · 0 评论 -
安卓上传多张本地照片
1.利用contentprovider扫描手机里面的所有图片 private void getImages() { if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //Toast.makeText(this, "暂无外部存储", Toast.LENGTH_SHORT).show()原创 2016-03-11 15:58:19 · 741 阅读 · 0 评论 -
Android的硬件加速
Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特性,使得绘制更加平滑,但是会多消耗一些内存。 开启或关闭硬件加速: 由于硬件加速自身并非完美无缺,所以Android提供选项来打开或者关闭硬件加速,默认是关闭。可以在4个级别上打开或者关闭硬件加速: Application级别:原创 2016-04-08 09:19:49 · 325 阅读 · 0 评论 -
Android中占位符的使用
动态的修改Android中strings.xml文件中的值,更主要的是在一个写死的xml字符串中插入文字。在这里给大家推荐一种简单的方法。strings.xml中节点是支持占位符的,如下所示:string name="data">整数型:%1$d,浮点型:%2$.2f,字符串:%3$sstring>其中data:仅仅是一个名字,这里随意%后面是占位符的位置原创 2016-04-21 15:00:05 · 7042 阅读 · 0 评论 -
安卓四大控件之Service
Service介绍一个Serviceandroid 系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),也是一种应用程序组件,它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互,不和用户交互应用组件。通常不具有可见的用户界面。其它的应用程序组件可以启动一个Service,即使在用户切换原创 2016-07-08 14:58:18 · 748 阅读 · 0 评论