- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Android四大组件之广播注册的两种方式
广播接收者可以自由地对自己感兴趣的广播进行注册,当有相应的广播发出时,广播接收者就能够收到该广播,并在内部处理相应的逻辑.注册广播的方式有两种:1.动态注册,即在代码中注册2.静态注册,即在AndroidManifest.xml中注册动态注册的关键方法:registerReceiver,可以在onCreate()中注册,应用一启动就可以接收广播.但是要注意的是,动态注册的广
2016-10-30 14:16:38 908
原创 有序广播与无序广播
无序广播(Normal broadcasts),也称标准广播,是一种完全异步执行的广播,在广播发出后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有先后顺序.这种广播效率会比较高,但它是无法被截断的.有序广播(Ordered brocastcasts)是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收者能够接收到这条广播消息,当这个广播接收者的逻辑
2016-10-30 13:07:08 2081
原创 Android四大组件之Activity的四种启动模式
一个应用中可能有多个界面 那么每个界面展示的次序不同,创建的先后顺序不同,存储界面的内存方式也不同,我们称这种存储方式为任务栈。1. 栈的特点:先进后出2. 任务栈的配置位置:AndroidMenifest.xml中标签有个属性 android:launcherMode=""3. 任务栈的4种属性值:standard singleTop singleTasksing
2016-10-27 17:20:29 735
原创 Android四大组件之Activity的生命周期
我们可以知道Activity从创建到销毁,调用会6个方法,onCreate()-->onStart()-->onResume()-->运行在最前端-->onPause()-->onStop()-->onDestory()
2016-10-27 15:53:58 342
原创 Android中的请求码
在Android中,当Activity之间相互跳转时,可以使用意图(Intent)来传递相应的数据。新的Activity与原来Activity不在同一个进程中,原来Activity带着请求码跳到一个新的Activity界面,可以使用startActivityForResult(Intent intent, int requestCode)。当新的Activity关闭时,会触发原来Activit
2016-10-27 15:14:37 1586
原创 Android下的数据保存、文件读写以及访问模式
如何在手机上保存数据:1. android的文件系统使用的是linux的文件系统(没有c盘 d盘..)2. android下应用程序的路径和javase不同,直接保存在根目录下会报错.这是因为如果大家都能保存到根目录,那么别的应用也能读取到你存储的文件信息,这样就造成了不安全性3.保存数据到文件中一般有两个方法1)保存到/data/data/应用的包名/files目录数据选
2016-10-17 17:52:29 640
原创 Android学习:测试的相关概念及Android下的单元测试
测试相关的概念:1. 好的应用都是被测出来的2. 测试的分类:1)根据是否知道源代码:白盒测试: 知道源代码 根据源代码来进行测试 (程序员 高级测试人员)黑盒测试: 不知道源代码 知道产品的功能 根据功能去测试 (大部分小型公司的做法)2)根据测试的粒度(精细程度):方法测试: 写一个测试方法 测试某个类里面的方法单元测试:可以测试某一个方法 测试多个方法 (安卓
2016-10-17 17:04:21 329
原创 Android开发学习笔记:五大布局
1.View:View表示控件,View与View之间是无法嵌套的,为了让控件能够嵌套其他控件,产生了ViewGroup,ViewGroup继承了View,ViewGroup一般也比较少使用,我们一般使用其子类实现,即五大基本布局(AbsoluteLayout、FrameLayout、LinearLayout、TableLayout、RelativeLayout)View的属性:① 控
2016-10-17 11:24:35 393
原创 Android中常用单位和日志(LogCat)的使用
1.Android中常用的单位(px dp sp)(1)px:电脑 电视上的分辨率的尺寸单位。像素是构成数码影像的基本单元。现在android中一般不使用px,因为使用px,在不同手机设备上显示的效果是定死的。(2)dp:推荐使用使用dp单位,与平时所说的dip是一样的。(设备独立像素).不同设备有不同的显示效果,可根据手机屏幕大小自动缩放,这个和设备硬件有关,不依赖像素。(3)s
2016-10-08 22:08:50 429
原创 线程通信-等待和唤醒机制和锁(Lock)机制
生产者和消费者案例分析:经典的生产者和消费者案例(Producer/Consumer): 分析案例: 1):生产者和消费者应该操作共享的资源(实现方式来做). 2):使用一个或多个线程来表示生产者(Producer). 3):使用一个或多个线程来表示消费者(Consumer).生产者消费者
2016-10-07 14:19:57 3512 3
原创 线程同步:解决线程不安全问题
当多个线程并发访问同一个资源对象时,可能会出现线程不安全的问题,比如现有50个苹果,现在有请三个童鞋(小A,小B,小C)上台表演吃苹果.因为A,B,C三个人可以同时吃苹果,此时使用多线程技术来实现这个案例.class Apple implements Runnable{ private int num = 50;//苹果总数 public void run() { for (int
2016-10-07 12:30:16 4872
原创 创建和启动线程的两种方式
方式1:继承Thread类步骤:1):定义一个类A继承于java.lang.Thread类.2):在A类中覆盖Thread类中的run方法.3):我们在run方法中编写需要执行的操作:run方法里的代码,线程执行体.4):在main方法(线程)中,创建线程对象,并启动线程.(1)创建线程类对象: A类 a = new A类();
2016-10-07 10:52:48 34056 2
原创 进程与线程概述
并行与并发并发和并行是即相似又有区别(微观概念):并行:指两个或多个事件在同一时刻点发生;并发:指两个或多个事件在同一时间段内发生。 在操作系统中,在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单CPU系统中,每一时刻却仅能有一道程序执行(时间片),故微观上这些程序只能是分时地交替执行。倘若计算机系统中有多个CPU,则这些可以并发执行的程序便可被分
2016-10-07 10:27:40 427
原创 数据库增删改操作(DML)
DML:插入语句插入语句:一次插入操作只插入一行.INSERT INTO table_name (column1,column2,column3...)VALUES (value1,value2,value3...); 1)一般插入操作一次只能插入一行,但MySQL可以一次插入多条数据记录(MySQL特有): INSERT INTO table_name (column1
2016-10-06 14:52:52 990
原创 数据库查询操作(DQL)
简单查询:简单查询:语法:SELECT {*, column [AS] [alias],...}FROM table_name;说明:SELECT 选择查询列表FROM 提供数据源(表、视图或其他的数据源) -----------------------------------------------------------------------
2016-10-06 14:32:37 531
原创 对SQL简单介绍、数据库、表的简单操作
1.SQL语句简单介绍:SQL(结构化查询语言(Structured Query Language))包含6个部分(数据查询语言DQL、数据操作语言DML、数据定义语言DDL、事务处理语言TPL、数据控制语言DCL、指针控制语言CCL),在Java中常用的有三种,DQL、DML、DDL:一:数据查询语言(DQL):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应
2016-10-06 12:22:51 1556
原创 SAX解析XML
SAX解析是一种与PULL解析器类似的XML解析的方法,不同的是,使用PULL解析需要程序员自己获取产生的事件做相应的操作。SAX解析的特点是逐行扫描文档,一边扫描一边解析,这种方式比起一次性将整个XML文件加载到内存中的DOM解析方式也更为安全(不易造成内存溢出),也更为快速有效。同时,SAX还可以在解析文档的任意时刻停止解析。当然,它也有缺点,那就是相对来说,SAX的操作复杂一点。 S
2016-10-06 10:30:50 552
原创 打印流概述
打印流,打印数据的,打印流只能是输出流: PrintStream: 字节打印流 PrintWriter: 字符打印流-对于PrintWriter来说,当启用字段刷新之后,调用println或者printf或者format方法,便会立马刷新操作(自动刷新). 如果没有开启自动刷新,则需要手动刷新或者当缓冲区满的时候,再自动刷新.(或直接调用close()方法,会自动刷新)
2016-10-05 16:06:13 1851
原创 包装流和缓冲流
处理流/包装流(相对于节点流更高级)装饰设计模式/包装模式:1:隐藏了底层的节点流的差异,并对外提供了更方便的输入/输出功能,让我们只关心高级流的操作.2:使用处理流包装了节点流,程序直接操作处理流,让节点流与底层的设备做IO操作. 实际识别处理流/包装流非常简单,只要流的构造器参数不是一个物理节点,而是已经存在的流,那么这种流就一定是处理流,而所有节点流都是直接以物理IO节点作为
2016-10-05 14:56:02 1918
转载 java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执行Java代码
2016-10-05 13:49:10 311
原创 如何拷贝指定类型的文件以及如何更改拷贝的文件的扩展名
1.如何拷贝指定目录下的指定类型的文件到指定另一目录中:使用过滤器(FilenameFilter)过滤文件//案例1:文件拷贝案例-拷贝指定目录的指定类型文件到指定目录. private static void test1() throws IOException { //源文件 File srcDir = new File("file"); //目标文件 File de
2016-10-05 12:53:39 2087
原创 Java如何实现文件拷贝操作和如何正确关闭资源
使用字节流完成文件的拷贝:使用字节输入流(FileInputStream)将源文件中的数据读进来,同时使用字节输出流(FileOutputStream)将读进来的数据写到目标文件中,即一边读一边写,完成文件的拷贝。//使用字节流完成文件的拷贝操作public class FileStremCopyDemo { public static void main(String[] args)
2016-10-05 12:08:07 8136
原创 如何使用文件字节输出流(FileOutputStream)将数据写到磁盘文件中
步骤:1.创建目标对象(表示把数据存储到哪一文件中)2.创建文件字节输出流对象3.具体的输出操作(往外写的操作)4.关闭资源对象//演示文件字节输出流public class FileOutputStreamDemo { public static void main(String[] args) throws IOException { //1创建目标文件 Fil
2016-10-05 11:11:29 14376
原创 如何使用文件字节输入流(FileInputStream)将文件读取到程序中
读取步骤:1. 创建源对象2.创建文件字节输入流对象(FileInputStream),并接在源上3.进行IO操作(具体的读取操作)4.关闭文件(必不可少的一步,如果操作文件,就得开通一个流对象关联我们得磁盘文件,如果不关闭资源,那么磁盘的文件一直被程序所引用着,不能删除,也不能更改.)//文件字节输入流public class FileInputStreamDemo {
2016-10-05 10:47:54 28412 1
原创 输入和输出(IO)流的简单介绍
IO操作是一个相对的过程,一般,我们站在程序角度来思考(程序的内存):1)程序需要数据:把数据流入到程序中--->输入.2)程序需要保存数据,把数据传递给别人--->输出. IO流的分类站在不同的角度,IO的分类方式是不一样的:1):根据流向划分:输入流和输出流.2):根据数据的单位划分:字节流和字符流.3):根据功能的划分:节点流和包装流. 四大基
2016-10-03 16:52:34 784
原创 Java中File的常用操作及方法
1.获取File路径和检测状态:1)操作File路径和名称:File getAbsoluteFile() :获取绝对路径String getAbsolutePath():获取绝对路径String getPath() :获取文件路径String getName() :获取文件名称File getParentFile():获取上级目录文件String getParent()
2016-10-03 16:15:38 583
eclipse-sonar插件离线安装包-直接放在安装目录并重启即可.zip
2019-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人