第一章 快捷键
1.1如何快速选定一行
选定下一屏:Shift+PgDn
选定上一屏:Shift+PgUp
1.2 android环境配置
1.2.1Android开发环境搭建(图文)
第二章 UI界
2.1 ViewPager控件实现侧面滑动
2.2 ScrollView实现上下文滚动
2.3 AlterDiaog 弹出对话框
2.4
2.5 UI界面属性用法与注意点汇总
android UI界面属性设置代码可以写在layout->values中;
文字也可以写在该目录下,但注意应该新建(更加不容易出错)。
2、android:layout.gravity=”center|top”
Android:layout.textStyle=”bold” 粗体
Android:clickable=”true”
Android:adjustViewBounds=”true“ 一般在ImageView中使用,用于
Android:src=”@drawable/t1”
如果要设置一个按钮在页面的底部,但是与底部有有些距离,应该在该按钮的外围设置一个linearLayo
2.6 ExpandableListView 实现可以延伸的页面效果(如:QQ)
2.7 android重心的控制
第三章 数据存储
3.1 五种数据存储与共享方式的比较、
Android中的5种数据存储方式
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:
1 使用SharedPreferences存储数据;
2 文件存储数据;
3 SQLite数据库存储数据;
4 使用ContentProvider存储数据;
5 网络存储数据;
Android中数据存储的5种方法
简介:这是Android中数据存储的5中方法的详细页面,介绍了和手机软件,Android Andro
Android数据存储Android提供了5种方式存储数据:--使用SharedPreferen
先说 下,Preference,File, DataBase这三种方式分别对应的目录是/data/d
在Android中通常使用File存储方式是用Context.openFileOutput(Stri
一:使用SharedPreferences存储数据
首先说明SharedPreferences存储方式,它是Android提供的用来存储一些简单配置信息
二:文件存储数据
文件存储方式是一种较常用的方法,在Android中读取/写入文件的方法,与 Java中实现I/O的
三:网络存储数据
网络存储方式,需要与Android 网络数据包打交道,关于Android 网络数据包的详细说明,请
四:ContentProvider
1、ContentProvider简介
当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应
2、Uri类简介
Uri代表了要操作的数据,Uri主要包含了两部分信息:1.需要操作的ContentProvider
2.主机名(或Authority):用于唯一标识这个ContentProvider,外部调用者可以
3.路径(path):可以用来表示我们要操作的数据,路径的构建应根据业务而定,如下:? 要操作c
因为Uri代表了要操作的数据,所以我们很经常需要解析Uri,并从Uri中获取数据。Android系统
1.首先把你需要匹配Uri路径全部给注册上,如下://常量UriMatcher.NO_MATCH
五:总结说明
以上5中存储方式,在以后的开发过程中,根据设计目标、性能需求、空间需求等找到合 适的数据存储方式。
3.2 SharedPreferences共享数据
SharedPreferences 是一种轻型的数据存储机制,它的原理是利用xml文件存储key\v
一、根据Context上下文类来获取sharedPreferences对象;
Eg: Context ctx = MainActivity.this;
SharedPreferences pt = ctx.getSharedPr
二、利用getEdit方法获取Editor对象
三、通过Editor对象存储key-value键值对数据。
四、通过commit()方法提交数据。
3.3 SQLite存储
实例一 创建一个数据库
步骤:
1、创建一个项目 DatabaseTest项目
2、新建一个类继承自SQLiteOpenHelper;
package com.example.databasetest;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.Curs
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class MyDatabaseHelper extends SQLiteOpenHe
public static final String CREATE_BOOK = "create
+ "id integer primary key autoincrement," + "au
+ "price real" + "pages integer" + "name text)"
private Context mContext;
public MyDatabaseHelper(Context context, String n
CursorFactory factory, int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
mContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(CREATE_BOOK);
Toast.makeText(mContext, "created succeeded", To
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldV
// TODO Auto-generated method stub
}
}
3、修改activity_main.xml文件
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertica
android:paddingLeft="@dimen/activity_horizonta
android:paddingRight="@dimen/activity_horizont
android:paddingTop="@dimen/activity_vertical_m
tools:context=".MainActivity" >
android:id="@+id/create_database"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="create database" />
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
修改MainActivity.class
package com.example.databasetest;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new MyDatabaseHelper(this,"Bookstore.
Button create_database = (Button)this.findViewBy
create_database.setOnClickListener(new View.OnCl
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dbHelper.getWritableDatabase();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the acti
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
实例二 添加数据
步骤:1、在activity_main.xml中添加一个按钮
2、为该按钮添加点击事件
add_data.setOnClickListener(new View.OnClickListen
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDataba
ContentValues values = new ContentValues();
values.put("name", "疯狂android讲义");
values.put("author", "lanPoyang");
values.put("price", 100);
values.put("pages", 100);
//添加数据
db.insert("Book", null, values);
}
});
3.4 文件存储(书)
3.5 adb调试工具
第四章 各种组件细节汇总
4.1 toast
第五章 android常见工具解析
5.1 apk反编译
第六章 android基础UI实例
6.1 android自定义listView背景
6.2 Android 自定义EditText输入框 带清空按钮
6.3
6.4 Android中用两层AlertDialog来进行弹出选择框信息选择
6.5
第七章 android基础事件实例
7.1 Handler异步机制
7.2
第八章android线程与进程
8.1 线程与进程的区别
第九章android错误分析集锦
9.1 android从启动开始的各种无法启动的问题解决
第十章 Android常用API
1、点击事件(如Button、ImageView、ImageButton等)
2、文本跟着变化的API,如下图所示。
3、发送短信:
4、打电话
5、Intent 回传参数:
6、ListView的item的相应事件:
7、获取手机联系人:
8、菜单点击事件:
第十一章 android网络
1、android网络程序的功能
2、计算机网络简介
3、计算机网络协议
4、HTTP协议总结:
5、JSON数据解析
暑假所有学习知识点总结:
1、数据交互载体:
2、隐式Intent对象
3、ContentProvider应用程序间的访问,通过接口访问。
4、数据存储方式总结:
4、android的Camera类,看以前的代码即可
5、TCP/IP Socket网络通讯
6、Handler消息处理
7、服务 Service
8、广播 BroadcastReceiver