04 2017 档案
摘要:给OptionsMenu选项菜单添加子菜单:
阅读全文
摘要:什么是ContextMenu? 例如Windows系统的右键菜单,在Android中长按某个文件夹,会跳出菜单,这个菜单就是ContextMenu。 ContextMenu与OptionMenu的区别 1. OptionMenu对应的是activity,一个activity只能拥有一个选项菜单; 2. ContextMenu对应的是View,每一个View都可以设置上下文菜单; 3. 一般情况下C...
阅读全文
摘要:Android的菜单一共有三种: OptionsMenu 选择菜单 ContextMenu 上下文菜单 SubMenu 子菜单 创建选项菜单: 在 Activity 里面重写 onCreateOptionMenu(),在里面设置菜单项。设置菜单项可以用代码动态地添加:menuadd(); 还可以通过 xml(在里面配置菜单项) 来配置,然后通过MenuInflater.inflate()设置。 ...
阅读全文
摘要:通知栏的实现 需要在配置文件中添加权限: 1 public class MainActivity extends ActionBarActivity implements OnClickListener { 2 NotificationManager manager; 3 int notification_ID; 4 5 @Override 6 ...
阅读全文
摘要:1 public class MainActivity extends ActionBarActivity { 2 String[] single_list = { "男", "女" }; 3 String[] multi_list = { "吃饭", "睡觉", "打豆豆" }; 4 String[] item_list = { "经理",...
阅读全文
摘要:什么是Toast 1. Toast是一种提供给用户简洁提示信息的视图。 2. 该视图以悬浮于应用程序之上的形式呈现给用户。Toast提示界面不获取焦点,所以不影响用户的操作。Toast提示就是在不影响用户使用程序的同时,给用户提供某些提示信息。 3. Android提供的Toast类可以创建和显示该
阅读全文
摘要:1. LogCat 是用来获取系统日志信息的工具,可以得到的信息包括 Dalvik 虚拟机信息,进程信息,Android 运行时信息,以及应用程序信息。 2. 我们可以通过添加程序日志的方式,来对程序进行简单的追踪。LogCat 是比较轻便简洁的调试方式。 3. 与Debug调试的区别 Debug调
阅读全文
摘要:1 import android.support.v7.app.ActionBarActivity; 2 import android.support.v7.app.ActionBar; 3 import android.support.v4.app.Fragment; 4 import android.animation.AnimatorSet; 5 import android...
阅读全文
摘要:LayoutAnimation(布局动画) 为View Groups添加动画 使用LayoutAnimationController 如图,给一个listView设置动画,使用了新的方法:setLayoutAnimation()。 setOrder(LayoutAnimationController
阅读全文
摘要:组合动画 案例一(续播1): 两个动画A和B,先播放动画A,设置A的AnimationListener(会重写3个方法),当其中一个方法onAnimationEnd()触发,也就是当A播放完毕的时候,开始播放B。核心代码如下: Animation loadAnimation = AnimationU
阅读全文
摘要:AlphaAnimation(透明动画) 1.xml文件 <set xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 渐变动画,表示从透明度10%到100%,持续时间为1秒 --> <alpha android:from
阅读全文
摘要:Android基础动画 1. Tween Animation 变换动画 2. Frame Animation 帧动画 3. Layout Animation 布局动画 4. Property Animation 属性动画 Tween Animation(变换动画)在Android中又被分为四种: A
阅读全文
摘要:1 public class RegistActivity extends Activity { 2 3 private EditText name, age; 4 private Button button; 5 6 @Override 7 protected void onCreate(Bundle savedInstanceState)...
阅读全文
摘要:public class RegistActivity extends Activity { private EditText name, age; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Au...
阅读全文
摘要:设置断点 1、Ctrl+Shift+B 添加断点 2、双击添加断点(如图光标所示,点击该行的行号之前的蓝色竖条部分) 3、对应行右键,选择Toggle Breakpoint。 Debug界面左上是程序的调用站(Debug) 右上是变量值显示窗口(x=vanables) 右上第二个标签是程序里的所有标
阅读全文
摘要:工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1. 首先客户端与服务器需要建立连接。只要单机某个超级链接,HTTP的工作就开始了。 2. 建立连接后,客户端发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信号包括请求修饰符、客户端信息和其
阅读全文
摘要:Android中更新UI的几种方式: 1. Activity 的 runOnUiThread() 2. Handler 的 post() 3. Handler 的 sendMessage() 4. View 的 post() 1 public class FiveActivity extends Activity { 2 3 private TextView textVi...
阅读全文
摘要:Handler和线程是相关联的。 再次强调:不可以在主线程中做耗时操作,就比如示例里面主线程中的 handlerMessage(),不能执行耗时操作。 创建一个与自定义线程相关的Handler的代码: class MyThread extends Thread{ public Handler handler; @Override public void run() { ...
阅读全文
摘要:Handler是什么? Handler是Android提供的一套用来更新UI的机制,也是一套消息处理机制,可以通过它发送消息,也可以通过它处理消息。 所有Activity生命周期回调的方法(例如onCreate()、onDestory()等等),都是通过handler机制去发送消息的,然后根据不同的消息(message)做相应的分支处理。例如发送一个消息给 Framework,告知需要调用onCr...
阅读全文
摘要:手势识别 可以通过以下两种方式实现: 1. 使用GestureDetector 2. 使用GestureOverlayView(属于线程的控件) 手势交互过程(原理): 1. 触屏一刹那,触发 MotionEvent 事件; 2. 被 OnTouchListener 监听,在 onTouch()中获得 MotionEvent对象; 3. GestureDetector 转发 MotionEven...
阅读全文
摘要:后台Service在系统启动时被SystemService开启 * MountService:监听是否有SD卡安装及移除 * ClipboardService:提供剪切板功能 * PackageManagerService:提供软件包的安装、移除和查看 * 电量、网络连接状态等等 getSystemService() * Activity的一个方法 * 传入NAME -> Object -> 服...
阅读全文
摘要:组件篇——Service 当Android系统内存不足的时候,会杀死优先级别较低的Activity,而基本上Service的优先级要高于Activity,所以程序中如果含有 Service,那么该程序是很难被杀掉的,而且即使 Service 被杀掉,它也很容易自己再次启动,除非人为去停掉。 ------------------- Service 本身不能做耗时操作(因为它运行在主线程)。耗时操作交...
阅读全文
摘要:// 普通广播不能被截断, // 同级别接收先后是随机的 // 可以由清单文件中android:priority="100" 优先级指定 // 同级别动态注册优先级高于静态注册 // 数据不能处理 // 有序广播能中断 // 有序广播数据能处理
阅读全文
摘要:如何实现 ContentProvider? 1. 继承抽象类 ContentProvider 实现一系列针对于数据的增删改查等方法; 2. 需在 AndroidManifest.xml 中完成对 ContentProvider的注册。 注:注册的anthorities的属性值,是全局唯一的。 第三方的访问能力完全取决于你自定义的ContentProvider,如果定义的ContentProvi...
阅读全文
摘要:数据篇——文件存储 -- Activity的openFileOutput()方法可以用于把数据输出到文件中 -- 创建的文件保存在 /data/data//files 目录 -- 实现过程与在 Java 中保存数据到文件中是一样的 new File("/mnt/sdcard/test"); 路径指向安卓自带的目录,指向SD卡。 new File("/mnt/extsdcard/test"); 指...
阅读全文
摘要:SQLite是用C语言编写的开源嵌入式数据库引擎。它支持大多数的SQL92标准,并且可以在所有主要的操作系统上运行。 SQLite:轻量级、性能不错,管理成本小。在管理、维护方面都非常出色,功能强大。 ——支持高达2TB大小的数据库 ——以单个文件的形式存在 ——以B-Tree的数据结构形式存储在磁盘 特点主要包括: 1.轻量级:一个动态库、单文件 2.独立性:没有依赖,无需安装 3.隔离性:全部...
阅读全文
摘要:Android的四种数据存储方式: 1. SharedPreferences 2. SQLite 3. Content Provider 4. File --------------------- SharedPreferences: 1. 是一种轻型的数据存储方法; 2. 本质是基于 XML 文件存储 key-value 键值对数据; 3. 通常用来存储一些简单的配置信息。一般是放置当前应用的属...
阅读全文
摘要:通过inputStream读取网页信息。 我们定义一个方法用于读取输入流: public String readStream(InputStream is){ InputStreamReader isr; String result=""; try { String line=""; isr = ...
阅读全文
摘要:构建AsyncTack子类的参数 AsyncTask是一个抽象类,通常用于被继承,继承AsyncTask需要指定如下三个泛型参数: params:启动任务时输入参数的类型。 progress:后台任务执行中,返回进度值的类型。 Result:后台执行任务完成后,返回结果的类型。 ------------------------ 如何构建AsyncTask子类的回调方法? 一个完整的AsyncTas...
阅读全文
摘要:Android常用的布局样式 1.LinearLayout(线性布局) 线性的 垂直的 水平的 2.RelativeLayout(相对布局) 最灵活的 3.TableLayout(表格布局) 现在被 GridView代替 4.AbsoluteLayout(绝对布局) 已淘汰 5.FrameLayout(帧布局) 布局叠加时使用 现在基本使用线性布局和相对布局,特殊情况会使用帧布局(视频暂停、缓冲...
阅读全文
摘要:SeekBar介绍 听歌的时候,我们常常喜欢快进或者退回到某一时间段、喜欢控制音量大小。SeekBar可以通过滑块的位置来标识数值,而且拖动条允许用户拖动滑块来改变进度值的大小。 -------------------- SeekBar的主要属性和方法: 由于 SeekBar 是 PrograssBar 的子类,所以方法和属性也是类似的。 (1)setMax ——设置SeekBar的最大数值 (2...
阅读全文
摘要:使用Gallery 和 ImageSwitcher 制作图片浏览器 Gallery介绍 我们有时候在手机上或者PC上看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的图片滚动效果,还可以根据你的点击或者触摸来触发其他事件响应。同样的,在Android中也提供这种实现,这就是通过Gallery在UI上实现缩略图浏览器。 ------------------------- 谷歌已经将Gall...
阅读全文
摘要:ScrollView 滚动视图 滚动视图是指当前拥有很多内容,屏幕显示不完整时,需要通过滚动来显示完整的视图。 ----------------------------- ScrollBar分两种: HorizontalScrollView: 水平滚动视图 ScrollView: 垂直滚动视图 ----------------------------- 隐藏滚动条有两种方式: 一种是在标签中设置:...
阅读全文
摘要:使用ViewFlipper实现屏幕切换动画效果。 ViewFlipper和ViewPager一样,都是Android自带的一个多页面管理控件,不同的是ViewPager是手动切换页面,而ViewFlipper可以实现子界面的自动切换。只需设置切换时间和切换的动画效果,ViewFlipper里面的视图就会自动循环播放。 ------------------------ 为ViewFlipper添加V...
阅读全文
摘要:// fragmentPagerAdapter
阅读全文
摘要:使用WebView在界面中显示网页 通过Intent调用系统浏览器 Uri uri=Uri.parse(url);//url为链接的地址 Intent intent=new Intent(Intent.ACTION_VIEW,uri); startActivity(intent); ----------------------------- 课程目标:通过WebView自制一个简易网页浏览器 课程...
阅读全文
摘要:自定义进度条:
阅读全文
摘要:1 package com.example.zy_spanner; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 import java.util.Map; 7 8 import android.support.v7.app.Acti...
阅读全文
摘要:GridView布局文件声明GridViewjava里创建GridView 配置 1、准备数据源 2、新建适配器(SimpleAdapter) 3、GridView加载适配器 4、GridView配置监听器(OnItemClickListener) gridView实现过程: 1.准备数据源 dataList=new ArrayList>(); 2.新建适配器(SimpleAdapter)...
阅读全文
摘要:Intent Intent(意图)可以理解为信使 由Intent来协助完成Android各个组件之间的通讯 Intent实现页面跳转 1. startActivity(intent) 直接从当前页面跳转到另一页面 2. startActivityForResult(intent,requestCod
阅读全文
摘要:线性布局:LinearLayout常用的两个属性: 1.android:orientation="vertical" --->该属性决定它子类控件的排布方式(vertical:垂直;horizontal:水平) 2.android:gravity="center" --->该属性决定他子类的xy的位置(常用到的几个属性值如下:) (1)、center_vertical:垂直(Y轴)...
阅读全文
摘要:给子类加构造函数Source Generate constractor from superclass 跑马灯效果的实现(Textview 循环):
阅读全文
摘要:TextView: android:id -- 控件的ID android:layout_width -- 控件的宽度 android:layout_height -- 控件的高度 android:text -- 文本内容 android:textSize -- 文本大小 android:textColor -- 文本颜色 android:background -- 控件背景 EditText增加...
阅读全文
摘要:如果在子类中添加独有的方法,不能通过父类的引用来调用:obj2。watchDoor() 错 引用类型转换:
阅读全文
摘要:继承 Java中的继承是单继承。一个类只有一个父类 1、继承是类与类之间的一种关系,用来实现代码的复用; 2、子类拥有父类的所有属性和方法;但父类中属性和方法的修饰符不能是private, 子类不能继承父类private 修饰的属性和方法 3、继承的语法规则是: class 子类 extends 父类 eg. class Dog extends Animal{ } extends为继承关键字...
阅读全文
摘要:什么是 Java 中的内部类 问:什么是内部类呢? 答:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。 问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!! 答:内部类的主要作用如下: 1. 内部类提供了更好的封装,可
阅读全文
摘要:成员变量与局部变量: Java 中的 static 使用之静态变量 Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问~~ 使用
阅读全文
摘要:如何定义 Java 中的方法 一般情况下,定义一个方法的语法是: 其中: 1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用 2、 返回值类型:方法返回值的类型,如果方法不返回任
阅读全文
摘要:什么是数组 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩 数组中的元素都可以通过下标来访问,下标从 0 开始。例如,可以通过 scores[0] 获取数组中的第一个元素 76 ,scores[2] 就可
阅读全文
摘要:Java条件语句之 if 注意哦:如果 if 条件成立时的执行语句只有一条,是可以省略大括号滴!但如果执行语句有多条,那么大括号就是不可或缺的喽~~ Java条件语句之 if...else Java条件语句之多重 if Java条件语句之嵌套 if Java条件语句之 switch 执行过程:当 s
阅读全文
摘要:常用运算符 final: 所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。 语法:final 常量名 = 值 注意啦:常量名一般使用大写字符; Java中的算术运算符 自增++;自减-- int b=++a:先让a先执行自增,然后在赋值给b; int b=a++
阅读全文
摘要:清单文件中定义: MyBroadcastReceiver MainActivity
阅读全文
摘要:通讯录:管理联系人 1.修改数据 2.访问数据 3.将数据放入适配器并显示 需要权限: <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name="android
阅读全文
摘要:1.什么Content Provider内容提供者:管理被访问的结构化数据——数据库底层封装的是数据库的操作,操作数据库A应用中将本地数据库的数据分享给B的应用,必须要使用内容提供者内容提供者就是提供数据的数据源,给客户端访问。 2.内容 提供者提供了一套对外接口的访问规则——————跨应用quer
阅读全文
摘要:PersonService DBHelper DBManger PersonServiceImp MyTest() MainActivity
阅读全文
摘要:DBHelper DBManager 单元测试
阅读全文

浙公网安备 33010602011771号