Android基础课程
文章平均质量分 83
莫兰迪不会没有瓶子
Travel, reading, programming, you and I are my life. This is what I think perfect.
展开
-
赵雅智_android样式与主题
1.样式与主题的区别 1.1样式应用于特殊的组件,主题应用与整个应用或整个Activity 1.2主题不仅单单显示内容的风格(大小、颜色),而且可以设置窗口的显示风格 1.3当主题的设置属性与样式的设置属相相同时,系统按样式的设置属性显示 1.4系统定义的一些常有主题:原创 2014-06-13 15:39:34 · 1088 阅读 · 0 评论 -
赵雅智_ContentResolver操作ContentProvider中的数据
当外部应用需要对ContentProvider中的数据进行添加、删除、修改和查询操作时,可以使用ContentResolver 类来完成要获取ContentResolver 对象,可以使用Activity提供的getContentResolver()方法。 ContentResolver 类提供了与ContentProvider类相同签名的四个方法:public Uri inser原创 2014-06-10 17:41:27 · 1345 阅读 · 0 评论 -
赵雅智_ListView_SimpleAdapter
项目步骤声明listView控件并获取显示的视图获取显示的数据设置显示的adapter注册点击事件具体案例实现效果:查找的方法public List> getData() { SQLiteDatabase db = dh.getWritableDatabase(); List> data = new ArrayList>(); Cursor c原创 2014-06-10 08:08:06 · 1173 阅读 · 0 评论 -
赵雅智_java的多线程下载移植到android客户端
根据java的多线程下载,我们将进行对java的多线程下载移植到android客户端。java多线程在客户端的移植步骤1.添加用户权限:发送网络请求,sd卡的读写2.点击按钮触发访问网络请求的时间,必须开启一个线程,在线程中去启动主线程中不能发送网络请求new Thread(){ @Override public void run() { }}.start();原创 2014-05-27 12:12:53 · 1570 阅读 · 0 评论 -
赵雅智_通过开源框架获取Json数据
json简介Json详细解析可见 http://redarmychen.iteye.com/blog/980243JSON是JavaScript Object Notation的缩写,可见JSON来源于JavaScript。JSON数据是一系列键值对的集合。下面的代码就是一个JSON:{ "phone" : ["12345678", "87654321"], // 数组原创 2014-05-26 09:42:10 · 1358 阅读 · 0 评论 -
赵雅智_HttpClient的 get请求和post请求
DefaultHttpClient和它的兄弟AndroidHttpClient都是HttpClient具体的实现类,它们都拥有众多的API,而且实现比较稳定,bug数量也很少。但同时也由于HttpClient的API数量过多,使得我们很难在不破坏兼容性的情况下对它进行升级和扩展,所以目前Android团队在提升和优化HttpClient方面的工作态度并不积极。在Android开发中,A原创 2014-05-22 22:16:09 · 1772 阅读 · 0 评论 -
android(18)_数据存储与访问_SQLite数据库_使用SQLiteDatabase操作SQLite数据库及事务
Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。execSQL()和rawQuery()方法。对SQLiteDatabase的学习,我们应该重点掌握execSQL()和rawQuery()方法。原创 2013-06-05 09:44:53 · 1823 阅读 · 0 评论 -
android(16)_数据存储与访问_SQLite数据库_数据库的创建管理
除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据。在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n)、char(n)、deci原创 2013-06-03 16:21:24 · 1125 阅读 · 0 评论 -
android(12)_解析xml文件1_dom
DOM解析XML文件时,会将XML文件的所有内容以对象树方式存放在内存中,然后允许您使用DOM API遍历XML树、检索所需的数据。使用DOM操作XML的代码看起来比较直观,并且,在某些方面比基于SAX的实现更加简单。但是,因为DOM需要将XML文件的所有内容以对象树方式存放在内存中,所以内存的消耗比较大,特别对于运行Android的移动设备来说,因为设备的资源比较宝贵,所以建议还是采用S原创 2013-06-03 15:09:24 · 1241 阅读 · 0 评论 -
Android Bitmap和Canvas
位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的。1. 从资源中获取位图可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。当然,首先需要获取资源: Resources res=getResources();使用BitmapDrawable获取位图使用BitmapDrawable转载 2014-06-18 16:22:22 · 3723 阅读 · 0 评论 -
赵雅智_Android_Canvas
Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0。今天我们主要要了解的是2D相关的,如果你想看3D的话那么可以跳过这篇文章。大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关的: Canvas、ColorFilter、Poi原创 2014-06-18 10:57:25 · 1496 阅读 · 0 评论 -
android四大组件
Activity为应用提供了可视化用户界面,与用户进行交互启动模式standardsingleTopsingleTasksingleInstanceContentProvider内容提供者共享数据,为跨应用的数据交换提供了一个标准insertupdatedeletequeryContentResovleruriBroadcastR原创 2014-06-17 15:48:13 · 1367 阅读 · 0 评论 -
赵雅智_Tween动画(旋转、平移、放缩和渐变)
Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。Tweene Animations。 主要类 Animation 动画AlphaAnimation 渐变透明度RotateAnimation 画面旋转ScaleAnimation 渐变尺寸缩放TranslateAnimation原创 2014-06-16 12:50:09 · 2290 阅读 · 0 评论 -
赵雅智_fragment动态添加实现
步骤新建主layout包含两个RelativeLayout布局新建2个Fragment类分别对应2个layout在主activity中进行动态添加获取FragmentManager对象获取FragmentTransaction对象添加Fragment对象提交事务运行效果:主要代码:activity_main.xml<Relat原创 2014-06-13 10:17:18 · 1419 阅读 · 0 评论 -
赵雅智_ListView_OnScrollListener
package com.example.android_provider3;import android.app.Activity;import android.widget.AbsListView;import android.widget.AbsListView.OnScrollListener;public class OnScrollListenerDemo extends A原创 2014-06-11 15:39:13 · 1112 阅读 · 0 评论 -
Android实现位图剪切
我们不能总是依赖于BitmapFactory 下面告诉大家怎么从Bitmaqp中截取某一部分创建新的Bitmap 系统会有一个默认png图片:icon.png 但是这个图片中最外层会有白色的 比较讨厌 现在以此为例 说说怎么截取 因为其外层为白色 显示不出来 所以我用了 *.9.png 作为其边界 创建Bitmaop 且指向icon.pngBitmap原创 2014-06-18 10:18:32 · 1477 阅读 · 0 评论 -
赵雅智_setImageResource和setImageBitmap
在4.0.4 r1.2中查看android.widget.ImageView源代码可以发现,setImageBitmap()方法其实是调用了setImageDrawable()方法进行重绘。Sets a Bitmap as the content of this ImageView. Parameters: bm The bitmap to set @android原创 2014-06-18 10:02:01 · 5300 阅读 · 0 评论 -
赵雅智_service实例1电话监听
步骤:创建CallStateService继承Service取得电话服务监听电话动作电话监听的对象没有电话时电话响铃时电话接通时电话监听的行为启动service注册service并添加监听电话状态的权限AndroidManifest.xml<manifest xmlns:android="http://schemas.android.com/apk原创 2014-06-17 17:11:33 · 1201 阅读 · 0 评论 -
赵雅智_android系统联系人app分析并获取数据
手机联系人存放位置和短信一样在data-data下手机联系人数据库解析将contacts2.db表导出,通过SQLiteexpert查看mimetypes表:存放的数据类型(电话,头像,姓名,邮箱)外键:raw_contacts表:存放联系人的idcontact_id:联系人iddisplay_name:联系人姓名原创 2014-06-13 01:49:00 · 1424 阅读 · 0 评论 -
赵雅智_android通过内容提供者实现电话薄显示更新删除案例
需求分析:通过ContentResolver操作内容提供者的数据,将姓名,电话显示在listView中,并带有添加和删除按钮进行相应操作实现思路步骤:Adater模型层创建内容解析器对象 ContentResolver定义URI自定义CursorAdapter实现构造器public MyCursorAapter(Context context, Cursor原创 2014-06-10 21:55:13 · 1510 阅读 · 0 评论 -
赵雅智_SimpleCursorAdapter
项目步骤声明listView控件并获取显示的视图获取显示的数据设置显示的adapter注册点击事件具体案例实现效果:查找的方法public Cursor findCursor() { SQLiteDatabase db = dh.getWritableDatabase(); Cursor c = db .rawQuery(原创 2014-06-10 08:08:46 · 1518 阅读 · 0 评论 -
赵雅智_ListView
Android界面中有时候需要显示稍微复杂的界面时,就需要我们自定义一个adapter,而此adapter就要继承BaseAdapter,重新其中的方法.Android中Adapter类其实就是把数据源绑定到指定的View上,然后再返回该View,而返回来的这个View就是ListView中的某一行item。这里返回来的View正是由我们的Adapter中的getView方法返回的。这样就原创 2014-06-05 22:34:39 · 1266 阅读 · 0 评论 -
赵雅智_sqlite修改表结构
1.更改数据库版本号(每次更新都一定要进行版本的升级)2.更新语句一条一条写,不能并列写例如:public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { db.execSQL("alter table users add userage integer;alter table users add usersalary原创 2014-06-05 09:34:53 · 2068 阅读 · 0 评论 -
赵雅智_使用sqlite创建数据库
Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法:构造函数,调用父类 SQLiteOpenHelper 的构造函数。原创 2014-06-04 21:02:35 · 1024 阅读 · 0 评论 -
赵雅智_pull解析xml
Pull 解析器简介Pull 解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如: 开始元素和结束元素事件,使用xmlPullParser.next() 可以进入下一个元素并触发相应事件。跟 SAX 不同的 是, Pull 解析器产生的事件是一个数字,而非方法,因此可以使用一个 switch 对事件进行处理。当元素开始解析时,调用 parser.nextText() 方法可以获原创 2014-06-04 17:01:10 · 994 阅读 · 0 评论 -
赵雅智_android测试
测试概念从是否关心软件内部结构和具体实现的角度划分 黑盒测试:只关心程序执行的过程和结果 白盒测试:根据源代码写测试方法或者测试用例 灰盒测试:是介于白盒测试与黑盒测试之间的从软件开发的过程按阶段划分有A.单元测试B.集成测试C.确认测试D.系统测试E.验收测试F.回归测试G.Alpha测试新建测试项目原创 2014-06-04 16:39:43 · 1079 阅读 · 0 评论 -
赵雅智_log日志
一个android应用程序运行后 并不会在控制台内输出任何信息. 不能在控制台输出。但是android提供的Log类。android.util.Log常用的方法有以下5个:Log.v() ,Log.d() ,Log.i() ,Log.w() ,Log.e() 。按照日志级别从高到低为ERROR, WARN, INFO, DEBUG, VERBOSE.5种日志级别的输原创 2014-06-04 16:17:51 · 1082 阅读 · 0 评论 -
赵雅智_activity生命周期
Activity有三个状态运行状态当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态。它就是响应用户操作的Activity。暂停状态当它失去焦点但仍然对用户可见时,它处于暂停状态。即在它之上有另外一个Activity。这个Activity也许是透明的,或者没有完全覆盖全屏,所以被暂停的Activity仍对用户可见。暂停的Activity仍然是存活状态(它保留着所有的状态原创 2014-05-28 22:32:01 · 1474 阅读 · 0 评论 -
赵雅智_android_ui_dialog
运行效果:方法一public void openDialog(View v) { // 打开一个对话框 // 构建者对象 AlertDialog.Builder builder = new Builder(this); // 构建者创建一个对话框 AlertDialog alertDialog = builder.create(); // 设置对话框的标题原创 2014-05-28 22:21:57 · 1257 阅读 · 0 评论 -
赵雅智_Activity
应用图标在哪里显示在application中添加的是应用图标,在activity中会默认加入图标在设置-应用代码如下: android:icon=""; 查看运行客户端界面信息 应用的名称在哪里android:label 应用的label也在 设置-应用中 但是一般不单独给 activity起名称,都是使用应用名称 in原创 2014-05-27 21:25:18 · 1391 阅读 · 1 评论 -
赵雅智_AndroidManifest.xml配置文件详解
AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。[html] view plaincopyxml version="1.0" encoding="utf-8"?原创 2014-05-27 21:13:15 · 1287 阅读 · 0 评论 -
赵雅智_android多线程下载带进度条
progressBar说明在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。这种模式常用于应用程序使用任务的长度是未知的。 XML重要属性android:progressBarStyle:默认进度条样式android:progressBar原创 2014-05-27 12:52:11 · 1967 阅读 · 0 评论 -
赵雅智_java多线程下载
java多线程下载一、简介线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。不难理解,如果你线程多的话,那下载的越快。现流行的下载软件都支持多线程。注意:实现多线程的条件是服务器支持单一IP多线程下载,如果不支持的话,很有可能封IP或者是原创 2014-05-27 11:15:39 · 1517 阅读 · 1 评论 -
赵雅智_引用开源框架通过AsyncHttpClient实现网络图片查看器
步骤:1.添加权限(访问网络权限)2.创建异步请求对象3.执行post请求(指定url路径,新建AsyncHttpResponseHandler方法)a) 如果成功创建工厂对象b) 工厂对象的decodeByteArray把字节转换成Bitmap对象c) 设置图片 实例项目解析项目要求:通过editText文本输入框中的网址,点击查看按钮,进行网络图片显示原创 2014-05-26 08:33:56 · 2139 阅读 · 2 评论 -
赵雅智_引用开源框架通过AsyncHttpClient进行文件上传
一、步骤:1.添加权限(访问网络权限和读写权限)2.获取上传文件路径并判断是否为空3.若不为空,创建异步请求对象4.创建上传文件路径5.执行post请求(指定url路径,封装上传参数,新建AsyncHttpResponseHandler方法) 二、查看参考文档 三、实例项目解析运行效果如下: 在本地文件夹中查看是否获取到图片,如下图原创 2014-05-26 08:26:53 · 3931 阅读 · 6 评论 -
赵雅智_引用开源框架通过AsyncHttpClient处理get/post请求
一、引用开源框架方法。方法一:找到下载文件的源码,Com包黏贴到项目中的src目录下 方法二:引入jar包到libs下 二、引用开源框架发送get请求给服务器步骤:1.创建异步请求端对象2.发送get请求,(get请求参数含义:请求的url地址;异步请求的handler)3.在成功请求里(status:状态返回码,headers:头部请求信息,resp原创 2014-05-26 08:17:56 · 3689 阅读 · 0 评论 -
赵雅智_handler
所有的UI线程要去负责View的创建并且维护它,例如更新冒个TextView的显示,都必须在主线程中去做,我们不能直接在UI线程中去创建子线程,要利用消息机制:handler原创 2014-05-21 21:58:37 · 1237 阅读 · 0 评论 -
赵雅智_HttpURLConnection 的 get请求和post请求
大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操 作,HttpURLConnection和HttpClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、 以及连接池等功能。原创 2014-05-21 21:57:07 · 3636 阅读 · 1 评论 -
android(19)_数据存储与访问_SQLite数据库_使用SQLiteDatabase提供的增删改查方法
除了前面给大家介绍的execSQL()和rawQuery()方法, SQLiteDatabase还专门提供了对应于添加、删除、更新、查询的操作方法: insert()Insert()方法用于添加数据,各个字段的数据使用ContentValues进行存放。 ContentValues类似于MAP,相对于MAP,它提供了存取数据对应的put(String key, Xxx原创 2013-06-05 09:44:04 · 2155 阅读 · 0 评论 -
android(17)_数据存储与访问_SQLite数据库_修改数据库
继续上一篇创建数据库更改DBOpenHelper.javapackage com.example.lession04_db.service;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOp原创 2013-06-03 17:37:02 · 1043 阅读 · 0 评论