- 博客(33)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Java IO流总结
IO流可以简单的理解为两种设备的中间介质,类似于管道,我们要做的就是把这个管道搭建好。有了管道以后就可以两个设备进行一些操作(读写,复制)。IO流根据操作数据分为字节流和字符流,根据流向分为输入流和输出流(相对于内存而言),任何一个流必须包含数据和流向。以下四种是IO流的四大基类。下面看一下它们之间的关系。根据Java命名规则可以想到:前面是功能的扩展,后缀是所属的类型。eg:File...
2019-01-24 22:57:01
11574
原创 android打包release导致java.lang.NoClassDefFoundError
由于今天要和深圳和版本,简单演示小半年的成果,为了将App是速度发挥到极致,所以要打release版本,这个时候问题出现了。既然抛出java.lang.NoClassDefFoundError,不对啊!平时run as 和 打包debug版本都无问题,为什么release会出现问题呢?问题出现了,就要分析原因,根据报错的行数469行点进去。这里也没什么问题,只是正常
2016-11-11 17:53:50
1468
转载 Android的DrawText详解
如果你经常使用Canvas的draw***方法去绘制一些图像图形,绘制的坐标是从Canvas左上角开始计算的,如果想要把一个图像放到某个位置,直接drawBitmap传递图片左上角的坐标就行了。那drawText就不一样,如果你传递进去字符串,会发现文字的位置和你指定的不一样。Android的文档也没有仔细说,打开源码一看,又跑到native代码里去执行了。对于一段文字来说
2016-01-13 16:41:57
614
原创 Android bitmap.recycle()导致trying to use a recycled bitmap报错分析
在android实际项目中,有时会在Activity的onDestroy()做一些资源释放工作,比如bitmap资源。通常的写法是这样public class NextActivity extends Activity { private ImageView imageView; @Override protected void onCreate(Bundle savedInstan
2015-12-09 12:09:17
4165
原创 Java 内部类详解
内部类顾名思义:就是类中还有类,Java内部类的出现解决了类中被private修饰的变量或引用可以被直接访问到。成员内部类:先看一下内部类的写法。public class Outer { private int x=9; class Inner{//内部类 void fun(){ System.out.println("Inner:"+x); } }}因为该内部
2015-08-15 16:14:43
871
1
原创 Android Loader简单使用
Loader在Android3.0引进,它让异步加载数据变得容易。特征:1.在Activity、Fragment中都可以使用2.Loader可以提供异步加载数据3.监视数据源的变化,当数据源发生变化的时候,会传递新的数据4.当loader重建的时候,会自动链接到最后一个Loader的cursor数据上,而不去进行重新查找。在app中使用Loader的时候,可能使
2015-08-04 18:32:35
899
1
原创 Android ContentProvider
ContentProvider用途一个应用只能访问属于自己的SQLite数据库,如果访问其他应用的数据库就会抛出异常,但有时的需要必须操作其他APP的数据库,例如:查看通话记录,短信等。这时就会用到ContentProvider类了,既然能够提供本应用的数据库内容,那一定会有增删改查方法。它是四大组件之一,所以在使用的时候需要在AndroidManifest.xml里节点下注册:
2015-07-31 09:17:17
652
转载 android四大组件--ContentProvider详解
原文出处:http://www.2cto.com/kf/201404/296974.html一、相关ContentProvider概念解析:1、ContentProvider简介在Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences、网络存储、文件存储、外储存储、SQLite。但是我们知道一般这些存储都只是在单
2015-07-31 09:04:44
137
原创 Android 五大存储方式详解
SharedPreferences与EditorSharedPreferences保存的数据只要是类似于配置信息格式的数据,因此它保存的数据主要是简单的key-value对形式。下面关系图上图完全可以看出,存的时候用SharedPreferences的内部类Editor,取的时候用SharedPreferences。SharedPreference是接口无法创建实例,Con
2015-07-29 11:32:07
1648
1
转载 源码分析Fragmentd的BackStack管理过程
原文出处:http://blog.youkuaiyun.com/bigconvience/article/details/305020711. Fragment基本用法为了管理Activity中的fragments,需要调用Activity中的getFragmentManager()方法。因为FragmentManager的API是在Android 3.0,也即API level 11开始引入的,所以
2015-07-28 12:12:47
410
原创 Android Menu
OptionsMenu(选项菜单)1.重写Activity的onCreateOptionsMenu(Menu menu)方法,在该方法里调用Menu对象的方法来添加菜单项或子菜单。2.如果希望应用程序能响应菜单项的单击事件,重写Activity中的onOptionsItemSelected(MenuItem item)方法即可。MainActivity.javapublic cla
2015-07-27 18:25:03
649
原创 Android应用资源
Java初学者直接在Java源码使用"hello" 和123 类型的字符串和整型,但时间长了就会忘记当初定义的原因,有经验的也许会定义字符串常量ResultSet.TYPE_FORWARD_ONLY,有经验的一看就知道其原因,这种写法已经降低了耦合性,Android则对这些字符串常量、数值常量进行进一步的改进:把用到的各种资源字符串常量、颜色资源、数组资源、菜单资源都集中放到res目录下,应用程序
2015-07-22 19:36:40
712
原创 Android scroll和listview事件冲突
在极小的可能下会有这样的需求,scroll中包含listview,Google不推荐这样嵌套,但是迫不得已必须这么做,这么会导致两种可能1.ListView只能显示一个Item。 2.ListView全完失效,无法滚动,上述第1种原因是嵌套ListView后android系统无法正确计算出宽度,所以这时需要设置高度为固定值。上述第2种原因是事件分发机制导致的,事件触发是从上向下的,
2015-07-21 21:51:21
634
转载 Android Configuration系统设置
Configuration类是专门用来描述手机设备上的配置信息。这些配置信息包括用户特定的配置项,也包括系统的动态设备配置。程序中可调用Activity的如下方法来获取Configuration对象//获取系统的Configuration对象Configuration cfg = getResources().getConfiguration();其中以下的参数代表
2015-07-17 19:41:57
591
原创 Android Notification的简单应用
Notification是显示在手机状态栏的通知,手机状态栏位于手机屏幕的最上方,哪里一般显示了手机当前的网络状态、电池状态、时间等。Notification锁代表的是一种具有全局效果的通知,程序一般通过NotificationManager服务来发送Notification。MainActivity.javapublic class MainActivity extends Ac
2015-07-15 15:53:05
749
原创 Android ProgressBar以及子类
ProgressBar组件也是一组重要的组件,progressBar本身代表了进度条组件,它还派生了两个常用的组件,SeekBar和RatingBar。progress及其子类在用法上十分相似,只是显示界面有一定的区别,因此本节归为一类,针对共性讲解,并突出介绍它们的区别。ProgressBar进度条进度条也是UI界面中非常实用的组件,通常用于向用户显示某个耗时操作完成的百分比,进
2015-07-14 15:38:13
742
原创 Java 线程池ThreadPoolExecutor简单应用
什么是线程池:线程池就是控制线程的一个池子。用来控制线程数量。为什么要使用线程池:1.避免系统重复创建和销毁线程影响运行的时间(创建+销毁>>执行时间时)2.控制线程数量,线程过多会导致机器运行卡(大约一个线程占用1M空间)ThreadPoolExecutor构造方法public ThreadPoolExecutor(int corePoolSize
2015-07-14 11:33:10
705
转载 Java枚举详使用解
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。package com.ljq.test;/** * 枚举用法详解 *
2015-07-13 20:12:31
555
转载 Android启动过程深入解析
当按下Android设备电源键时究竟发生了什么?Android的启动过程是怎么样的?什么是Linux内核?桌面系统linux内核与Android系统linux内核有什么区别?什么是引导装载程序?什么是Zygote?什么是X86以及ARM linux?什么是init.rc?什么是系统服务? 当我们想到Android启动过程时,
2015-07-13 10:32:24
732
原创 SAX PULL解析实例
XML三种解析方式:SAX解析:基于事件驱动,事件机制基于回调函数的,得到节点和节点之间内容时也会回调事件PULL解析:同样基于事件驱动,只不过回调时是常量DOM解析:是先把XML文件装入内存中,在解析,耗费资源student.xml--张三男30zhangsan@163.com1900-09-09组长-lisi
2015-07-09 12:21:00
676
原创 Java 多线程
因为线程是进程的一部分,所以了解线程之前有必要了解进程。进程:进程是正在进行的程序,QQ,迅雷,在运行的时候必然会占用一个进程,看似是同时在执行N多程序,其实并不是这样,CPU在快速切换而各个程序都执行(切换时间大约20ms),一个进程至少有一个线程,线程不可能不依赖进程而独立存在。在使用javac 和java命令的时候会任务管理器中短暂的出现这两个进程。线程:线程是程序控制的单元
2015-07-08 20:36:58
433
1
原创 SQLlite常用语句
SQlite(structrue query language,结构化查询语言)是一款轻量级的数据库,主要用于移动设备。弱类型数据库(虽然不写字段无错,但为了更好移植到企业级数据库建议写上)它是关系型的数据库。(存储的是对象的属性值),最新的数据库:对象型的数据库(数据库中可以存储对象) 下载官网:http://sqlite.org/download.htmlSQllite优点:1)很
2015-07-06 21:43:16
1624
原创 Java 网络请求两种方式
首先需要了解网络协议,HTTP协议是互联网上使用最广泛的协议,任何在网络上传输数据必须遵循某种协议。请求方式常用两种GET和POST请求,请求完成状态码很多,经常见到的是404找不到资源文件,200是请求成功。网络请求两种:第一种:原生HttpURLConnection,第二种:apache的Http
2015-07-06 12:53:05
3725
原创 Android AdapterView以及子类
GridView网格视图之前有说过ListView和Adapter,本次要说的是GridView,它和ListView基本相同,区别在于ListView只显示一列,而GridView可以显示多列,当GridView只显示一列的话,那么它相当于ListView。关系图解GridView常用属性android:columnWidth 设置列的宽度android:gravit
2015-07-03 13:23:14
887
原创 Android ImageView以及子类
ImageView继承View,用来存放图片的控件和Drawable对象。基本上VIew派生的子类都是控件。它还派生了ImageButton和ZoomButton组件,所以ImageView所持有的属性同样适用于这两个控件,下面是他们是结构图。ImageView属性:android:adjustViewBounds 设置ImageView是否调整自己的边界来保持
2015-06-20 16:13:58
627
原创 Android TextView以及子类
TextView直接继承VIew,它还是多个控件的父类,这同时说明,TextView的子类同样可以使用TextView的XML属性。TextVIew的作用就是在界面上显示文本。从功能上看TextView其实就是一个文本编辑器,只不过android关闭了它的 文字编辑功能。下面是TextView的类结构图:TextView属性:android:autoLink 是否将符合指定格式的文
2015-06-09 20:56:45
1190
原创 Android 布局管理器
为了更好的管理Android应用的用户界面里的组件,Android提供了布局管理器,通过使用布局管理器,Android应用的图形用户界面具有良好的平台无关性。通常来说,推荐使用布局管理器来管理组件的分布,大小,而不是直接设置组件位置和大小,布局管理器可以根据运行平台来调整组件的大小,程序员要做的,只是为容器选择合适的布局管理器。下面是布局管理器的结构图。从上图可以看出,所有的布局管理器
2015-06-05 14:33:36
23151
1
android屏幕适配
横竖屏切换展示不同XML:res文件夹下,新建layout-land竖屏展示 layout-post 横屏展示分辨率和横竖屏不同切换:res文件夹下,新建layout-land-800*480 当屏幕分辨路和横屏的时候展示 如果没有相符那么找最接近的。布局文件别名:之前一直使用setContentView(R.layout.activity_main);这种参数布局,
2015-05-25 20:21:52
105
原创 Android UI简单美化
android UI简单美化UI美化常用到会用到这四种:Selector(选择器),style(样式),Theme(主题),shape(图形),并且在res文件夹下新建drawable,美化的样式通常放在这里Selector(选择器)activity_main.xml <EditText android:id="@+id/ed2" a
2015-05-22 13:14:03
3574
原创 Android Service的使用
android Service一.什么是ServiceService见名知意“服务”,略懂windows基础的童鞋都会听说过服务吧。比如控制机器连接网络,是否可以发射WIFI信号等都是由服务控制的,android的中服务有一些略微的区别,主要用做于后台,虽然程序已经退出,但依然可以播放歌曲,下载视频…….。Service类似于Activity,所以也需要启动,只是无界面,不可交互
2015-05-20 23:06:05
2514
android studio 生成maven 多个module依赖问题
2017-07-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人