- 浏览: 794213 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (417)
- ASP.NET MVC (18)
- WEB基础 (24)
- 数据库 (69)
- iPhone (20)
- JQuery (3)
- Android (21)
- UML (8)
- C# (32)
- 移动技术 (19)
- 条码/RFID (6)
- MAC (8)
- VSS/SVN (6)
- 开卷有益 (4)
- 应用软件 (1)
- 软件工程 (1)
- java/Eclipse/tomcat (61)
- 英语学习 (2)
- 综合 (16)
- SharePoint (7)
- linux (42)
- Solaris/Unix (38)
- weblogic (12)
- c/c++ (42)
- 云 (1)
- sqlite (1)
- FTp (2)
- 项目管理 (2)
- webservice (1)
- apache (4)
- javascript (3)
- Spring/Struts/Mybatis/Hibernate (4)
- 航空业务 (1)
- 测试 (6)
- BPM (1)
最新评论
-
dashengkeji:
1a64f39292ebf4b4bed41d9d6b21ee7 ...
使用POI生成Excel文件,可以自动调整excel列宽等(转) -
zi_wu_xian:
PageOffice操作excel也可以设置表格的行高列宽,并 ...
使用POI生成Excel文件,可以自动调整excel列宽等(转) -
wanggang0321:
亲,我在pptx(office2007以上版本)转pdf的时候 ...
JODConverter]word转pdf心得分享(转) -
xiejanee:
楼主:你好!我想请问下 你在代码中用DOMDocument* ...
Xerces-C++学习之——查询修改XML文档 (转)
1.SQLite
创建数据库
Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法:
- 构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
- onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。
- onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。
SQLiteOpenHelper 的子类调用 getReadableDatabase() 或 getWriteableDatabase() 方法,你可以得到 SQLiteDatabase 实例。
使用SQLiteDatabase 对象的 insert(), update(), delete(),rawQuery/query 方法,进行增删改查。
Cursor---查询结果集
用StringBuilder写Sql
例: StringBuilder selectBuilder = new StringBuilder();
selectBuilder.append("select * from ").append(DBHelper.TABLE_NAME).append(" where ")
.append(DBHelper.COLUMN_DATE).append(" =?").append(" order by ").append(DBHelper.COLUMN_TYPE);
2.AlertDialog
new AlertDialog.Builder(this)
.setTitle("请选择")
.setIcon(android.R.drawable.ic_dialog_info)
.setSingleChoiceItems(new String[] {"选项1","选项2","选项3","选项4"}, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}
)
.setPositiveButton("确定", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which)
{
}
})
.setNegativeButton("取消", null)
.setNeutralButton("Neutral2", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.cancel();
}
})
.show();
3.Toast
Toast.makeText( ToastActivity.this,“hello”,Toast.LENGTH_LONG).show();
4.spinner
spinner = (Spinner) findViewById(R.id.spinType);
spinner.setAdapter(adapter);
//给弹出的选择框加一个标题
spinner.setPrompt("选择类型");
其中adapter:
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, String[] );
或adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, ArrayList<String>);
或adapter=new ArrayAdapter<MyEnum>(this,android.R.layout.simple_spinner_item;
adapter.add(MyEnum.xxx);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ArrayList<String>形式的adapter,可以动态删减下拉框中的内容,adapter.add,adapter.remove
5.Menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
/*添加三个菜单项目,并设置图片*/
menu.add(0, 1, 1, "Edit").setIcon(android.R.drawable.ic_menu_edit);
menu.add(0, 2, 2, "Open").setIcon(android.R.drawable.ic_menu_agenda);
menu.add(0, 3, 3, "Exit").setIcon(android.R.drawable.ic_lock_power_off);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case 1:
/*显示main.xml为主屏布局*/
setLayoutShow(R.layout.main);
NoteDebug("编辑文件Layout");
break;
case 2:
/*显示open.xml为主屏布局*/
setLayoutShow(R.layout.open);
NoteDebug( "打开文件Layout");
break;
case 3:
/*退出*/
finish();
NoteDebug( "Byebye");
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
private void NoteDebug(String showString){
/*显示Toast提示*/
Toast.makeText(this,showString, Toast.LENGTH_SHORT ).show();
}
------------------
MenuItem exit,testItem;
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
/*添加退出菜单*/
exit=menu.add("Exit");
/*设置退出菜单图片*/
exit.setIcon(android.R.drawable.ic_menu_close_clear_cancel );
testMenuItem = menu.add("testItem");
testMenuItem.setIcon(android.R.drawable.ic_menu_call);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
/*结束Activity*/
if(item.equals(exit)){
finish();
}
else if(item.equals(testMenuItem)){
Toast.makeText(this, "test menuitem is clicked", Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
6.TabView
private TabHost tabHost;
tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("today").setIndicator("今日账单",getResources().getDrawable(R.drawable.tab_today))
.setContent(new Intent(this,Today.class)
//刷新
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
tabHost.addTab(tabHost.newTabSpec("history").setIndicator("历史账单",getResources().getDrawable(R.drawable.tab_history))
.setContent(new Intent(this,History.class)));
tabHost.setOnTabChangedListener(this);
@Override
public void onTabChanged(String tabId) {
if(tabId.equals("history"))
{
Intent intent = new Intent(this,SelectDate.class);
startActivityForResult(intent, REQUEST_QUERYDATE);
}
}
7.日期、日历
Calendar calendar = Calendar.getInstance();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String today = format.format(calendar.getTime());
8.ListView
String []name=new String[]{"Java","C++","C","C#","VB","XML",".NET","J#"};
ArrayAdapter<String> arrayadapter =new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,name);
listview = (ListView)findViewById(R.id.list);
listview.setAdapter(arrayadapter);
listview.setOnItemClickListener(this);
------复杂点的
listview.setAdapter(new ListItemAdapter(this));
class ListItemAdapter extends BaseAdapter
{};
this.layoutInflater = LayoutInflater.from(context);
view=layoutInflater.inflate(R.layout.listview_item, null); ----inflate一个新的布局
9.Html.fromHtml
Spanned spannable = Html.fromHtml("the google url: " +
"<a href=\"http://www.google.com\">http://www.google.com</a><br/>" +
"the telephone: " +
"<a href=\"tel:18603045201\">18603045201</a>"
);
textview.setText(spannable);
textview.setMovementMethod(LinkMovementMethod.getInstance());//点击链接可以直接访问网页或者打电话
SpannableString ss=
new SpannableString("the google url: http://www.google.com 18600000001");
ss.setSpan(new URLSpan("http://www.google.com"),
16, 37, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new URLSpan("tel:18603045201"),
38, 49, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textview.setText(ss);
textview.setMovementMethod(LinkMovementMethod.getInstance());
发表评论
-
Android官方提供的支持不同屏幕大小的全部方法
2014-07-16 15:09 0sdfsdf -
Apk签名(转)
2012-07-04 14:02 1657转自:http://407827531 ... -
Drawable(hdpi,ldpi,mdpi)的区别
2012-03-19 10:45 911Drawable(hdpi,ldpi,mdpi)的区别: 主 ... -
Android - API Levels-<uses-sdk android:minSdkVersion="8" />
2012-03-19 09:54 1339转自:http://www.cnblogs.com ... -
MinSdkVersion, targetSdkVersion, target API level的区别(转)
2012-03-19 09:18 1552转自:http://blog.csdn.net/c ... -
转:有关Activity的Launch mode 以及Intent的setFlags
2012-03-15 16:50 915转:有关Activity的Launch mod ... -
Android SharedPreferences
2012-02-27 10:11 967转自:http://blog.csdn.net/leilu20 ... -
android中application 关于全局变量
2012-02-27 10:06 1338转自:http://blog.csdn.net/leilu20 ... -
Android 支持多屏幕机制(转)
2012-02-27 09:50 968转自:http://blog.csdn.net/leilu20 ... -
教你解决android软键盘挡住输入框问题!
2012-02-24 16:13 1582教你解决android软键盘挡住输入框问题! 转自:http: ... -
android中LayoutInflater的使用(转)
2012-02-20 11:15 1413转自:http://dev.10086.cn/cmdn/w ... -
Android 正则表达式(转)
2012-02-20 11:14 4288Java正则表达 ... -
Android随笔3
2012-02-17 14:51 01. android:layout_alignright只能 ... -
todo
2011-12-12 13:30 0http://bbs.51cto.com/thread-845 ... -
Eclipse同时附加javadoc和android文档(转)
2011-12-10 13:21 1527Eclipse同时附加javadoc和android文档 ... -
在Eclipse中开发Android程序,添加javadoc目录,可以详细显示API的说明(转)
2011-12-09 11:11 1183转自:http://blog.csdn.net/y ... -
Android推送(转)
2011-11-07 11:16 1567转自:http://blog.csdn.net ... -
ios与android解析(转)
2011-10-17 10:45 958http://bbs.xiaomi.com/thread-34 ... -
手持通讯安全性问题解决方案思考
2011-10-13 09:25 0<!-- [if gte mso 9]><x ... -
eclipse android环境搭建
2011-09-28 10:12 1230eclipse开发android环境搭建 1.需要下载安装的 ...
相关推荐
标题中的“android笔记本”指的是一个基于Android操作系统开发的笔记应用程序。在Android平台上,开发者通常使用Java或Kotlin语言,结合Android SDK(软件开发工具包)来构建这样的应用。这款简单的笔记本App可能是...
根据给定的文件信息,以下是对“Android笔记”的知识点整理与详细解释: ### Android学习笔记概览 #### 一、基础概念 1. **开篇介绍:** - 开始学习Android开发之前的基础介绍。 2. **框架简介:** - 对Android...
【Android笔记本小程序源码】是一个面向Android平台的项目,它为用户提供了一个轻量级的笔记应用体验。这个小程序集成了登录注销功能,允许用户安全地管理自己的笔记。它还涉及到了数据库连接技术,用于存储和检索...
3. **Android笔记应用的基本结构** - **MainActivity**: 应用的主要入口,通常负责初始化界面和处理用户交互。 - **NoteActivity/EditorActivity**: 用于创建和编辑笔记的活动,可能包括输入框、编辑器和保存功能...
这份"Android笔记.zip"很可能包含了一位开发者或学生整理的关于Android编程的学习资料,旨在帮助理解并掌握Android Studio的使用以及Android应用开发的核心概念。 Android Studio基于IntelliJ IDEA,提供了丰富的...
【Android 知识点详解】 Android 是一个开源的移动设备操作系统,主要由Google维护,它提供了全面的软件栈,包括操作系统、中间件和关键应用程序。Android 平台旨在为开发者提供一套工具,使他们能够使用Java语言在...
android笔记初学者必看 包含代码和知识要点 为求职做好充分准备
在“帝乙Android笔记之一”中,我们可以探索Android开发的基础知识,这非常适合初学者入门。Android是一种基于Linux的开源操作系统,广泛应用于智能手机和平板电脑,为开发者提供了丰富的平台来创建各种应用程序。 ...
Android笔记.pdf
【Android 笔记】是关于Android开发的一系列学习笔记,主要涵盖了源码解析和技术工具的使用。这篇博文可能包括了作者在深入理解Android系统、分析系统源码以及探索实用开发工具过程中的心得与经验分享。从标签“源码...
【项目经理Android笔记及试题】 1. WebView的相关知识点: - WebChromeClient:在WebView中,WebChromeClient是用来处理JavaScript中的警告、确认对话框以及获取网页加载进度等高级功能的类。选项C正确。 2. XML...
这份"Android笔记与笔试题"资料涵盖了Android开发的基础到高级概念,对于开发者或者准备面试的求职者来说是一份宝贵的资源。下面,我们将详细探讨其中可能包含的知识点,并提供一些扩展内容。 1. **Android系统架构...
android笔记.doc android笔记.pdf 1 系统配置... ..1 1.1 建立SDK开发环境... ...2 1.2 Android源码的编译 ... .6 1.3 编译在G1 上运行的android 2.1(eclair)代码 ... ..9 1.4 编译在G1 上运行的android 2.2(froyo)...