- 博客(21)
- 收藏
- 关注
原创 小白成长记——Android进阶之布局优化
布局优化主要从两方面着手: 一方面,尽量减少布局文件的层级,布局的层级减少了,程序在加载界面的时候就会更快。这一方面主要在于两点:首先,删除布局中无用的控件和层次;然后,在实现功能相同的情况下尽量使用较高性能的ViewGroup,比如使用LinearLayout或者FrameLayout来代替RelativeLayout。当然如果单纯一个LinearLayout或者FrameLayout无法实现
2017-09-02 10:19:14
392
原创 小白成长记——Android基础之Activity临时数据缓存
单看标题可能不是很明确我要说的到底是什么,不如具体举一个场景的例子来说明 假设现在有两个Activity A跟B,当我们从A进入B一段时间后,由于内存资源不足等原因,系统可能会自动把activity A给回收了,这时我们按下back键想回到activity A,那么activity A执行的就不是onRestart方法,而是onCreate方法重新创建一次,这样的话我们之前A中的一些临时数据或者
2017-09-01 10:04:26
1738
原创 小白成长记——Android基础之Activity四种启动模式
Android中Activity都是由任务栈进行管理 任务栈是一种后进先出的结构。当前与用户交互的Activity处于栈顶位置,当按下back按钮的时候,栈内的Activity会按次序一个一个的出栈。如果最终栈内为空,那么系统就会回收这个栈,每个APP默认只有一个栈,以APP的包名来命名。我们也可以在清单文件中声明Activity的时候,通过设置taskAffinity属性来指定该Activit
2017-09-01 09:38:31
330
原创 小白成长记——Android进阶之设计模式之单例模式
单例模式可以说是设计模式中最简单,也是应用最广泛的设计模式,所以很有必要学习一下 所谓单例模式,就是确保某一个类只有一个实例,而且能够自行实例化并向整个系统提供这个实例的设计模式。一般用于避免产生多个对象消耗过多的资源或者某种类型的对象必须独一无二的场景。 具体实现方式: 1).饿汉式 所谓饿汉式就是在声明对象的时候直接对其进行初始化 注意修饰符的使用 public class Sin
2017-08-31 09:39:09
315
原创 小白成长记——Android进阶之浅谈android6.0之后运行时权限问题的坑
不知道有没有朋友会遇到参考别人的代码或者跟着视频学习来完成某个功能时,明明是完全一致的代码就是运行不了,真的是气炸了好吗!哈哈,有点夸张,但确实很烦人~ 我在学习的过程中就遇到过不少次这种情况,最终经过排查发现大多数时候都是权限问题导致的。。。(有句妈卖批不知当讲不当讲),所以我决定好好研究一下权限的问题并写下这篇博客加深一下印象,同时分享这个知识希望能让一些朋友少踩点坑 大家应该都知道And
2017-08-29 19:39:00
358
原创 小白成长记——Android进阶之初识Handler
1.Handler是什么? handler是android给我们提供用来更新UI的一套机制,也是一套消息处理机制,我们可以通过它发送消息,也可以处理消息。 2.为什么使用Handler? 最根本的目的就是解决多线程并发的问题 ·假设在一个Activity当中,有多个线程去更新UI,并且都没有加锁机制,那么会产生 什么问题? 更新界面错乱 ·如果对gengxinUI的操作都进行枷锁
2017-08-14 10:58:55
310
原创 小白成长记——Java基础之I/O流
分类 按照数据流的方向不同可以分为:输入流和输出流 按照处理数据单位不同可以分为:字节流和字符流 输入流、输出流都是从程序的角度来说的,输入流是指程序从文件获取数据,所以做的是read读取操作;输出流是指程序向文件传输数据,所以做的是write写入操作。 java.IO下有四大流抽象类:InputStream、OutputStream、Reader、Writer,其他流类都
2017-08-12 10:13:00
358
原创 小白成长记——Java基础之File类的使用
一、File类 java.io.File类只能用于表示文件或目录的信息(名称、大小等),不能用于文件内容的访问 语法:File file = new File(); ()中可以填入多种参数,最常见的是填入文件或目录的路径,例如:File file = new File("e:\\FileTest\\test.txt") 注意:如果不指定父目录,则该文件或目录直接生成在项目目录下 File
2017-08-11 19:32:24
322
原创 小白成长记——Android进阶之打造通用的适配器
LIstView、GridView和BaseAdapter在Android开发中可谓是再常见不过了。 每当我们需要用ListView或者GridView显示数据的时候都要编写一个Adapter适配器并绑定数据源,然后ListView或GridView实现Adapter适配器。那么,如果一个项目中出现多次ListView或是GridView等,是不是我们每个都要实现一遍创建适配器、绑定数据源、实现
2017-08-09 16:49:40
371
原创 小白成长记——Android进阶之Json数据的获取与解析
做Android开发不可避免的需要进行Json数据的获取与解析 首先,我们要根据url地址获取网络或服务器的Json数据,其中涉及Java的I/O流对数据的读取 下面通过代码实际演示具体实现: public class JSONTest extends Activity { private String URL = "http://www.imooc.com/api/teacher?
2017-08-09 08:25:41
551
原创 小白成长记——Android进阶之AsyncTask基础
异步任务:AsyncTask 1.为什么使用异步任务? ·Android是单线程模型,只有UI主线程才能对UI进行操作 ·耗时操作要放在非主线程中执行,否则会造成阻塞 2.使用AsyncTask的好处 ·可以在子线程中更新UI ·封装、简化了余部操作 3.构建AsyncTask子类的参数 AsyncTask是一个抽象类,通常用于被继承,继承AsyncTask需要指定如下三个泛型参数
2017-08-08 16:19:33
332
原创 小白成长记——Java基础之类的关系
1.继承关系: 1):一个类可以继承另外一个类 ·被继承的类通常被称为“父类”(parent class)、“超类”(super class)或者“基类”(base class) ·继承者通常被称为“子类”(child class或sub class)或者“派生类”(derived class) 2):Java中的继承具有单一继承的特点 ·每个子类只有一个直接父类 ·一个父类可以有多个
2017-08-08 15:48:33
298
原创 小白成长记——Java基础之内部类
定义: 在一个类的类体之内再定义一个类,该情况下外面的类称为“外部类”,里面的类称为“内部类” 引入内部类的主要原因: ·内部类能够隐藏起来,不为同一包的其他类访问; ·内部类可以访问其所在的外部类的所有属性; ·再回调方法处理中,匿名内部类尤为便捷,特别是事件处理经常使用 内部类的分类: 1).成员内部类:在“外部类”的内部定义一个类 示例: public cl
2017-08-08 14:59:24
278
原创 小白成长记——Java基础之字符串类
1.String类 1).使用“+”运算符连接字符串时注意以下三点: ·字符串与字符串进行“+”连接时,第二个字符串会连接到第一个字符串之后 ·字符串与其他类型进行“+”连接时,因字符串在前面,所以其他类型的数据都将转换成字符串与前面的字符串进行连接 ·其他类型与字符串进行“+”连接时,因字符串在后面,其他类型按照从左向右进行运算,最后再与字符串进行连接 示例: public cl
2017-08-08 10:36:34
476
原创 小白成长记——Java基础之基本数据类型与字符串的相互转换
1.将字符串的值转换为基本类型: ·直接利用基本类型的封装类的构造方法,即Xxx(String s)构造方法 ·调用封装类提供的parseXxx(String s)静态方法 示例: int num1 = new Integer("10"); int num2 = Integer.parseInt("123"); 2.将基本类型的值转换为字符串: ·直接使用一个空字符串来连接数值即可
2017-08-08 09:54:26
344
原创 小白成长记——Android进阶之线程thread的两种实现
Android有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口。 创建线程: 1.继承Thread类: public class ThreadActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super
2017-08-07 20:29:12
628
原创 小白成长记——Android基础之Android Studio开发常用快捷键
·ctrl + alt + L 代码自动格式化,表示都快成强迫症了,写好一点代码总是要格式化一下 ·ctrl + insert 快速添加构造、getter、setter、tostring等方法,功能很强大,用过都说好 ·ctrl + alt + T 快速生成try、if、while等块 ·ctrl + alt + space 代码提示(区分大小写) ·ctrl + shift + ente
2017-08-07 16:53:08
559
原创 小白成长记——Java基础之访问控制符
4种访问控制级别: 1):private(当前类访问权限):被声明为private的成员只能被当前类中的其他成员访问,不能在类外看到; 2):缺省(包访问权限):如果一个类或者类的成员前没有任何访问控制符,则自动获得缺省的访问权限,缺省的可以被同一包中的所有类访问; 3):protected(子类访问权限):被声明为protected的成员既可以被同一个包中的其他类访问,也可以被
2017-08-07 16:12:05
297
原创 小白成长记——Java基础之操作符
一元运算符:++、-- 1):++ 自增运算 直接举例说明: int a = 5; int b = ++a; system.out.println("a的值为:" + a); system.out.println("b的值为:" + b); 此时,打印结果为:a的值为:6,b的值为:6 另一种情况: int a = 5; int b = a++; system.out.pri
2017-08-07 14:17:40
292
原创 小白成长记——Java基础之数据类型
基本数据类型分类: ·整数类型:byte、short、int、long ·浮点类型:float、double ·字符类型:char ·布尔类型:boolean 各种基本类型的大小及取值范围: 类型名称 关键字 大小 取值范围 字节型 byte 8位 -2^7~2^7-1 整型 int 32位 -2^31~2^31-1 长整
2017-08-07 11:34:15
455
原创 小白成长记——Java基础之标识符
定义: 在各种编程语言中,通常要为程序处理的各种变量、常量、方法、对象和类等起个名字作为标记,以便通过名字进行访问,这些名字统称为标识符。 组成: Java中的标识符由字幕、数字、下划线或美元符组成,且必须以字母、下划线(_)或美元符($)开头。 命名规则: 1):可以包含数字,但不能以数字开头; 2):除下划线"_"和"$"符以外,不包含任何其他特殊字符,如空格; 3):区分大小写
2017-08-07 10:09:35
301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅