- 博客(34)
- 资源 (11)
- 收藏
- 关注
原创 Android四大组件之Activity Life Cycle
每创建一个activity就要在清单文件中,添加进去。创建activity两种方式:①写一个类继承自activity②直接new 一个activity主启动项: Activity栈:切换屏幕时保存数据的两种办法:①在配置文件中给activity添加该属性android:configChanges="orientation|keyboard
2016-09-28 21:46:50 1491
原创 深入探索Android 中view的touch事件传递
每个View的子类都具有下面三个方法:一、这个方法用来分发TouchEventpublic boolean dispatchTouchEvent(MotionEvent ev) { //请求所有父控件及间接父控件不要拦截事件 getParent().requestDisallowInterceptTouchEvent(tru
2016-09-27 21:54:28 2145
原创 开源框架ViewPagerIndictor(指示器)的使用
使用步骤:1、引入库项目必须和库文件在同一个磁盘,最好在同一个工作目录,便于后期维护2、解决support - v4 冲突(让版本一致或者删除其中一个)解决项目本身和库文件support v4冲突,让项目依赖于库文件的support v4。如果项目含有其他库文件,则需保持两个库文件support v4版本一致3、照例子文件中写布局文件填写布局文件,完成准备工作4、从
2016-09-27 07:41:17 492
原创 搭建基本的UI框架(标题----内容-----导航)
导航栏:用RadioButton标题:动态添加主内内容区:ViewPager自定义ViewPageri重写父类的onTouchEvent()方法。import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;impo
2016-09-25 14:18:31 663
原创 三、ListView数据分类显示
思想:将承载数据的集合进行转换,然后拼接。不复用布局的思想:item布局是ViewGroup的子类,则判断convertView是否是ViewGroup的子类,如果是就复用布局,负责就不复用布局。来确定优化,另外特殊位置时,直接跳出不设置数据。具体实现:100个数,将奇数和偶数分离显示,代码如下public class MyBaseAdapter extends BaseAda
2016-09-23 21:40:25 718
原创 二、ListView的高级优化
升级优化:减少findViewById操作原理:用对象存储item中的控件,让convertView直接存储布局。 classLvAdapter extends BaseAdapter { @Override publicint getCount() {
2016-09-23 21:05:20 239
原创 一、ListView的初级优化
public classMainActivity extends Activity {privateListView lv;privateList list;//DateBean是描述数据的类,list用于承载ListView要显示的数据 @Override protectedvoid onCreate(Bundle savedInstanceSta
2016-09-23 21:03:37 234
原创 常用的几种单元测试
1,注释作用:使用范围:2,输出语句system.out.print()作用:使用范围:3,debug作用:使用范围:4,测试框架5,日志怎么查看日志:日志打印寻顺序:
2016-09-23 00:01:29 2010
原创 为了清晰了解String类,java中最特殊的类,探索之路
为了清晰了解String类,本人做了如下测试:String a = "c";String b = "c";System.out.println(a == b);//true 为后面做准备System.out.println(a.equals(b));//trueString c = "e";String d = "e";String s = a + c;String
2016-09-22 00:26:18 700
原创 学习笔记之区分String a="abc"; String b="abc"; String c=new String("abc"); String d=new String("abc");
Stringd = “ab” + “c”;String a="abc"; String b="abc"; String c=new String("abc"); String d=new String("abc");1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
2016-09-21 21:53:24 6435 1
原创 常用控件含义,属性,继承关系
由于继承关系,所以子类传承父类非私有的属性,并有特有属性。二级父类属性简介:TextView作用: 在界面上显示文本,没有编辑功能,属性: text 控件中要显示内容 textColor 内容文字颜色 textSize 内容文字大小 textStyle 文字样式 drawable 文字周围附加图
2016-09-20 18:16:23 889
原创 浅谈Android中常用的五种布局方式
本篇文章所提到的控件指:控件和布局布局的继承关系:LinearLayout,RelativeLayout,FrameLayout,AbsoluteLayout都是ViewGroup的子类,所以有些属性可以有交集,应具体对待。而TableLayout是LinearLayout的子类,因此大多数LinearLayout的属性都可以用。子类拥有父类的属性。一、LinearLayout(o
2016-09-19 21:17:21 10188 4
原创 android中学会编写这些文件能使你写布局事半功倍
学会写这些文件能减少很多布局代码:shape文件具有很高的通用性,而且当维护的时候容易修改。学会这样更有利于团队的开发。1)stroke 描述: stroke:边框效果 相当于html中的盒子模型的border 属性: android:width 描边的宽度 android:color 描边的颜色 and
2016-09-18 23:05:14 278
原创 java实现八大排序
1.直接插入排序经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。对第四个数、第五个数……直到最后一个数,重复第二步。public void insertSort(int[] a){intlength=a.length;//数组长度,将这个提取出来是为了提高速度。 int inse
2016-09-17 21:47:31 293
原创 浅谈Java 中的堆和栈
Java 中的堆和栈 Java把内存划分成两种:一种是栈内存,一种是堆内存。栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方,,Java自动管理栈和堆,程序员不能直接地设置栈或堆。栈(stack)是操作系统在建立某个进程或者线程(在支持多线程的操作系统中是线程)为这个线程建立的存储区域,该区域具有先进后出的特性。特点:存取速度比堆要快,仅次于直接位于CP
2016-09-17 10:00:29 454
原创 浅谈Java 类加载器以及双亲委托机制
当你写完了一个.java文件的时候,编译器会把他编译成一个由字节码组成的class文件,当程序运行时,JVM会首先寻找包含有main()方法的类,把这个class文件中的字节码数据读入进来,转化成JVM中运行时对应的Class对象。执行这个动作的,就叫类加载器。(运行时的前奏做类加载);ClassLoader:是Java层几乎所有类加载器的父类,它定义了加载器的基本行为和加载动作
2016-09-17 09:29:48 2703 3
原创 android-genymotion-the virtual device got no ip address
在成功安装了virtualbox后启动genymotion出现the virtual device got no ip address错误,在网上找了很多办法,没能解决。最后发现:两种解决办法第一种:直接卸载重新安装。第二种:根据对比发现viutualbox的网桥适配器和本机的虚拟网卡的的不一样,如图:解决办法就是重新在virtualbox中重新创建适配器管理——>全局设定——
2016-09-15 13:27:57 1069
原创 Gson解析出现类似错误,com.google.gson.JsonSyntaxException: java.lang.IllegalStateException:
09-14 23:15:03.019: E/AndroidRuntime(1357): com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was NUMBER at line 1 column 1058 path $.extend[0]出现该...
2016-09-15 11:27:04 37054 12
原创 Oracle Database 10g登陆遇到协议适配错误,解决办法
tns:协议适配错误,解决办法:首先协议适配错误,可能是因为oracleserviceXE服务没有启动进入服务Win+R输入services.msc,启动服务即可解决方法:计算机—>管理或者直接Win+r输入services.msc即可点击服务,如图:启动服务即可。
2016-09-15 09:56:31 615
转载 android中的权限,了解一下
android中的权限程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求。属性说明android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问 "properties"表在checkin数据库中,改值可以修改上传android.pe
2016-09-15 09:53:08 331
原创 收集eclipse android开发常用快捷键
快捷键Window–>Preferences–>General–>Keys来查看和修改快捷键绑定。编辑Ctrl+1 快速修复(会列出环境对该行语句做出的修改建议)Ctrl+Shift+F 格式化当前代码,良好的代码格式Ctrl+Shift+O 快速组织类的import导入(可以帮你去除没用的导入,很有用)撤销Ctrl+Z相反Alt+/ 自动提示Ctrl+D 删除当前
2016-09-15 09:18:08 2334
原创 收集Android常用控件属性及含义理解
第一类:属性值为true或false,例如:android:layout_centerHrizontal 水平居中(Hrizontal表示水平)android:layout_centerVertical 垂直居中(Vertiacl表示垂直)android:layout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom
2016-09-15 09:10:04 1492
原创 Android_project目录及文件详解
Src: src 目录是放置我们所有 Java 代码的地方,它在这里的含义和普通 Java 项目下的 src 目录是完全一样的,展开之后你将看到我们刚才创建的 MainActivity.java 文件就在里面,是我们写源代码的位置。gen:这个目录里的内容都是自动生成的,主要有一个 R.java 文件,你在项目中添加的任何资源都会在其中生成一个相应的资源 id。这个文件永远不要手动去修改它
2016-09-13 21:50:05 4639
原创 创建一个Android_project,带你走进android的世界
创建项目详解:Eclipse adt创建第一个Android工程 File→New→Android ApplicationProjectApplication name:应用名称,此应用安装到手机之后会在手机上显示该名称 Project name:项目名称,在项目创建完成后该名称会显示在 Eclipse 中 Package name:
2016-09-13 21:37:10 1776
原创 初识dalvik虚拟机,和Android开发环境搭建
初识dalvik虚拟机Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底层之上构筑了一个名为“Dalvik”的虚拟机。Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备
2016-09-13 21:28:04 994
原创 Android_sdk目录结构详解
AndroidSDK(Android软件开发工具包,全称android softwaredevelop tools kit)谷歌提供的 Android开发工具包,在开发 Android程序时,我们需要通过引入该工具包,来使用 Android相关的 API。 add-ons这里面保存着附加库,比如GoogleMapsdocs这里面是Android SDKAPI参考文档,所有的
2016-09-13 21:26:01 931
原创 java基础(五)
有两种方法可以获得自身的Class对象引用(对每一个被装载的类型(类或接口),虚拟机都会为它创建一个java.lang.Class的实例):1) Class c = Class.forName(“com.briup.ch06.Student”); //虚拟机中没有该类的Class的实例对象2) Class c = stu.getClass();
2016-09-12 23:51:35 403
原创 浅谈android相关背景
随着移动终端的盛行,android和ios两者,我个人觉得:相对于定制机我更倾向于android,可以更加个性化,ios不是适合定制。第一代模拟制式手机第二代GSM、TDMA等数字手机第三代(外语全称the 3 Generation)3G手机2009年1月7日,工业和信息化部为中国移动、中国电信和中国联通发放3张第三代移动通信(3G)牌照,此举标志着中国正式进入3G
2016-09-12 22:43:56 469
原创 java.lang.ArrayIndexOutOfBoundsException
数组下标越界,这是最常见的运行时错误,非编译时错误,一般是因为个人逻辑问题导致的或者不细心导致的。解决办法;报错在自己项目包下,因为异常是用栈输出的,所以错误位置在最上面。作为程序员工作一定要细心,否则会经常遇到,若遇到就去检查逻辑所涉及的数组使用。java.lang.ArrayIndexOutOfBoundsException: 2at com.briup.v
2016-09-08 22:51:54 779
原创 能容入团队开发成员必备的优秀习惯,提高效率的小技巧
无论你是业余的还是专业的程序员,好的编程习惯能使你和别人很高效的交流,特别在团队开发中,好的编程习惯,能改变别人对你的看法,正确的编程风格,不但有助于提升软件产品的功能,还可以明显减少软件灾难的产生。 代码的可读性至上 代码要能可阅读和可理解,就需要格式化成一致的方式。对函数和变量的命名应有意义,注释的表达应该简洁而准确。并且,准确地记录代码中所有棘手的部分是十分重要的。你必须
2016-09-07 23:11:01 463
原创 java基础四
有两种方法可以获得自身的Class对象引用(对每一个被装载的类型(类或接口),虚拟机都会为它创建一个java.lang.Class的实例):1) Class c = Class.forName(“com.briup.ch06.Student”); //虚拟机中没有该类的Class的实例对象2) Class c = stu.getClass();
2016-09-06 07:45:28 315
原创 java基础三
同一个类中,如果有两个方法的方法名相同,但参数(类型,顺序,个数)不一致,那么可以说,一个方法是另一个方法的重载方法。注意: 返回类型可以不相同。一个类中不允许定义两个方法名和参数完全相同,参数和方法名在类中唯一确定一方法。创建和初始化对象使用new创建对象有以下作用: 1.为对象分配内存空间,将对象的实例变量自动初始化默认值; 2.如实例变量显示初始化,将初始化值
2016-09-06 07:44:17 354
原创 java基础(二)
一、if1) if (逻辑表达式){}... else{}:只有逻辑表达式为true才会执行代码块,否则执行else2)if(逻辑表达式){}:只有逻辑表达式为true才会执行代码块,否则执行其他语句不执行if语句3)if(逻辑表达式){}else if(逻辑表达式){}…else{}:只有逻辑表达式为true才会执行代码块,逐层匹配,如果有个逻辑表达式符合条件,则其他if语句将不会执
2016-09-03 00:08:00 278
原创 java基础(一)
标识符 类、方法和变量的名字 1)java标识符以字母、_和$开头,不能以数字开头,后跟字母、数字、“_”和“$”的组合; 2)大小写敏感 3)没有长度限制。 4)不能是java中的关键字每个语句短语以;结束关键字 Java语言的关键字是程序代码中的特殊字符。包括: . 类和接口的声明——class,extends, implements, inte
2016-09-03 00:04:34 396
自定义的图表demo
2018-02-11
android studio多渠道打包demo
2017-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人