==============
在application 节点配置首先启动的Activity 节点
<activity android:name=".HelloActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
=============
获取当前屏幕的宽和高
WindowManager manager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
Display display = manager.getDefaultDisplay();
this.screen_width = display.getWidth();
this.screen_height = display.getHeight();
=============
win7 磨砂效果
Window window = dialog.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
=============
设置屏幕默认为横屏
android:screenOrientation="landscape"
设置屏幕默认为竖屏
android:screenOrientation="portrait"
=============
去除窗体的标题栏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
去掉任务栏
this.getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
这个方法必须放在以上两个方法之后
this.setContentView(layoutResID);
================
ContentProvider 使用表的形式来组织数据
各个程序都可以来访问这个数据
android中的ContentProvider 保存在android.provider中
每个ContentProvider 都有一个uri
提供的增删改查的函数方法:
主要意义在于提供在不同的程序之间实现数据共享
实现一个CongtentProvider的步骤
1、定义一个CONTENT_URI常量
2、定义一个类,继承ContenProvider
3、实现query 、insert、 update 、delete、getType 和onCreate方法
4、在AndroidManifest.xml 当中声明
================
Activity 之间的跳转
Activity01 中启动Activity02
Intent inetnt1 = new Intent(Activity01.this,Activity2.calss)
stratActivity(intent1);
startActivityForResult(intent1,REQUEST_CODE);
startActivityForResult() 这个方法启动intent,并且挡墙新的Activity 运行结束的时候,还必须执行原Activity 里面的回调函数onActivityResult().
================
关于权限问题
===============
指定layout
LayoutInflater factory = LayoutInflater.from(NotePad.this);
==================
响应手机返回按钮事件
@Override
public void onBackPressed() {
AlertDialog.Builder builder = new AlertDialog.Builder(ManagerView.this);
builder.setMessage("是否退出程序");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ManagerView.this.finish();
}
});
builder.show();
// super.onBackPressed();
}
================
响应MENU按钮创建菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// MenuItem item_1 = menu.add(0, 0, 0, "1");
// item_1.setOnMenuItemClickListener(new ItemClickListenerClass());
MenuItem item_0 = menu.add(0, 0, 0, "EXIT");
item_0.setOnMenuItemClickListener(new ItemClickListenerClass());
MenuItem item_1 = menu.add(0, 1, 1, "About");
item_1.setOnMenuItemClickListener(new ItemClickListenerClass());
MenuItem item_2 = menu.add(0, 2, 2, "UPdate");
item_1.setOnMenuItemClickListener(new ItemClickListenerClass());
MenuItem item_3 = menu.add(0, 3, 3, "Connect US");
item_1.setOnMenuItemClickListener(new ItemClickListenerClass());
return super.onCreateOptionsMenu(menu);
}
=================
上下文菜单
创建
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("选项");
menu.setHeaderIcon(R.drawable.menu_set);
menu.add(0, 0, 0, "新建记事项");
menu.add(0, 1, 1, "保存记事");
menu.add(0, 2, 2, "清空当前");
menu.add(0, 3, 3, "查看记事");
super.onCreateContextMenu(menu, v, menuInfo);
}
/**
* 上下文菜单的响应事件
*/
/*
* (non-Javadoc)
*
* @see android.app.Activity#onContextItemSelected(android.view.MenuItem)
*/
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
.getMenuInfo();
switch (item.getItemId()) {
case 0:
break;
}
return super.onContextItemSelected(item);
}
==================
对listview 中我们可以调用Android中默认的布局模式
Android.R.layout.simple_list_item_1 每一项只有一个textview
Android.R.layout.simple_list_item_2 每一项有两个TextView
Android.R.layout.simple_list_item_single_choice 每一项有一个TextView 但是这个项可以被选择
=================
Dialog 类是继承的是 object
progressDialog 中不需要Builder 这个内部类来构造,可以直接调用构造函数
=================
设置显示字体为系统里面的字体
Android:textAppearance="?Android:attr/textApperanceMedium"
====================
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item_icon_text, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text);
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(DATA[position]);
holder.icon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2);
return convertView;
}
static class ViewHolder {
TextView text;
ImageView icon;
}
=====================
关于SQLite 数据库的操作
继承SQLiteOpenHelper类新建一个数据库
public class DBUtil extends SQLiteOpenHelper {
private static final String SQL_STRING = "create table test_sqlite(_id integer primary key autoincrement,username varchar(40),birthdate date)";
private static final String DB_NAME = "testsqlite.db";
private static final int DB_VERSION = 1;
/**
*
* @param context 上下文环境
* @param name 创建数据库的文件名
* @param factory 游标工厂
* @param version 数据库创建的版本
*/
public DBUtil(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
public DBUtil(Context context) {
this(context, DB_NAME, null, DB_VERSION);
}
/**
* 创建数据库函数,回调函数,在程序运行中只会调用一次
*/
@Override
public void onCreate(SQLiteDatabase db) {
System.out.println("onCreate()............");
db.execSQL(SQL_STRING);
}
/**
* 更新数据库
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists testsqlite");
onCreate(db);
}
public void closeDB(SQLiteDatabase db){
if(db != null){
db.close();
}
}
public void closeCursor(Cursor c){
if(c != null){
c.close();
}
}
}
======================
对于SQLite 数据库的基本操作语句:
插入操作:
对数据库中插入一个USERVO 对象
public void insertUserVO(UserVO user){
DBUtil util = new DBUtil(context);
// 得到一个可以写的 数据库,执行这个方法后 数据库才真正创建
SQLiteDatabase db = util.getWritableDatabase();
//ContentValues 一个map类存放键值对,一个键值对 键表示数据库中的列名
ContentValues values = new ContentValues();
values.put("username",user.getUsername());
values.put("birthdate", ConvertDate.datetoString(user.getBirthdate()));
db.insert("test_sqlite", null, values);
}
查询操作:
public Cursor findAll(){
DBUtil util = new DBUtil(context);
SQLiteDatabase db = util.getReadableDatabase();
//查询的列名的string 数组
String[] colnames = new String[]{"_id","username","birthdate"};
String selection = "userid = ? and username=?";
String[] selectionArgs = new String[]{"1","saf"};
String groupBy = "userid";
String having = "userid <10";
String orderBy = "userid asc";
Cursor c = db.query("test_sqlite", colnames, null, null, null, null, null);
while(c.moveToNext()){
System.out.println(c.getColumnName(0)+" "+c.getColumnName(1)+" "+c.getColumnName(2));
System.out.println(c.getInt(0)+" "+c.getString(1)+" "+c.getString(2));
}
return c;
}
//查询的一些列方法:
-----------
public Cursor query (boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
distinct: true 表示去掉重复的行
table :表名
colums :查询的列的string 数组
selection:表示查询的条件 包含关键字 where 类似 selection = “name=?”;
selectionArgs :表示 填充的是 ? 代表的值的一个string数组
limit 限制返回的记录条数
-----------
public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)
-----------
public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
-----------
public Cursor rawQuery (String sql, String[] selectionArgs)
-----------
//修改数据的方法
public int update (String table, ContentValues values, String whereClause, String[] whereArgs)
-----------
//删除数据
public int delete (String table, String whereClause, String[] whereArgs)
O(∩_∩)O每天进步一点点O(∩_∩)O 该BLOG供个人记录学习笔记,如有错误欢迎指出!
分享到:
相关推荐
这份名为“英语四级漫画作文训练必备PPT学习教案.pptx”的资料是为准备英语四级考试的学生提供的,尤其是针对漫画作文部分的写作指导。漫画作文是四级考试中的一种常见题型,它要求考生通过分析漫画内容,提炼出其...
为骄傲,也可以表示理所当然。 19. **be aware of/that** - 注意到,意识到,表示对某事物的认知。 20. **translate into** - 翻译成,将文本从一种语言转换成另一种语言。 21. **set in** - 开始,常用于描述某种...
根据提供的文件内容,我们可以提炼出以下几个主要的知识点,来详细介绍如何撰写科研论文。 标题撰写技巧: 1. 科研论文的标题应该简洁明了,便于读者迅速把握论文的核心内容。 2. 标题必须体现论文的关键技术或主要...
在学术写作中,正确引用他人的研究至关重要,这是对他人工作的尊重,也是遵循学术诚信的重要原则。"02.Referring_to_Sources.md" 包含了引用来源的多种表达方式,帮助作者在论文中恰当地引用参考文献,包括直接引用...
为了避免抄袭,作者在引用他人观点或引述时应正确地引用来源。 20. Using active voice instead of passive voice can make sentences more direct and engaging for the reader. 使用主动语态而非被动语态可以使...
很抱歉,根据您提供的信息,"英语写作手册(中文版)课后习题答案.pdf"是一个关于提升英语写作技能的学习资料,但具体内容并未在描述或标签中给出。然而,我可以为您提供一些通用的英语写作关键知识点,这些内容通常会...
总的来说,这篇文章阐述了作者在中小学阶段的成长历程,从一个依赖他人、情绪波动大的孩子,成长为一个独立、情绪管理有度的青少年。这个过程中,作者通过生活经历和自我反思,逐步建立了独立自我,并学会了在人际...
5. **版权与伦理**:强调尊重知识产权,理解 Creative Commons 许可证,知道何时需要引用或获得许可才能使用他人的作品。 6. **信息安全与隐私**:这部分会涵盖网络安全基础,如密码安全,识别网络钓鱼,理解数据...
2. **文献引用与参考文献**:遵循特定的引用格式(如APA、MLA或Chicago)是学术写作的基本规范,正确引用他人的研究成果能体现学术诚信。 3. **批判性思维**:学术写作要求对研究问题进行深入分析,批判性思维体现...
语文阅读是学习语文的重要部分,涉及到对文章的理解、分析和鉴赏。以下是对初中语文阅读中关键知识点的详细解析: 1. **叙事线索**:叙事线索分为物线和情线。物线是通过物品或者事件的发展来推进故事情节;情线则...
双引号(“”)和单引号(‘’)用于引用他人的言语或特定内容。一般情况下,外部引用用双引号,内部引用则用单引号。比如:“小燕子说:‘春雨是绿色的。你们瞧,春雨下到草地上,草地绿了。’” 分号(;)用于...
这篇文章主要围绕《2020年春八年级语文下册第四单元15我一生中的重要抉择》的内容展开,是一份同步练习材料。虽然题目和描述没有直接涉及IT知识,但我们可以从部分内容中提取一些普遍适用的生活和学习理念,并尝试与...
1. **模仿优秀文章**:通过阅读10篇相关领域的文献,学习其结构和语言特点,并进行总结。 2. **选择模板**:找到几篇与你课题相似的文章,作为写作模板,按照统一格式初步构建论文。 3. **广泛阅读**:针对论文的...
这篇关于博士学习经验的文章,是科研领域的经典之作,旨在帮助读者理解并提升博士阶段的学习效率和研究能力。以下是对文章主要内容的详细解析: 1. **先看综述,后看论著**:在进行科研学习时,首先通过阅读综述...
写作是英语学习的重要组成部分,尤其对于准备成人学士学位英语考试的学生来说,掌握一定的作文模板和句型至关重要。以下是一些关键的写作技巧和常用表达,帮助你提升作文水平。 一、必备句型 1. "As is known / As...
首先,文章引用了古诗“横看成岭侧成峰,远近高低各不同”,表达的是观察事物的不同角度会导致不同的认识。在IT行业中,这种视角变化的思维可以应用于问题解决。例如,当面对一个复杂的技术问题时,开发人员需要从...
《研究生专业英语课件》是一套专为硕士研究生设计的英语学习资料,旨在提升研究生在学术领域的英语听说读写能力,使他们能够更好地理解和交流专业领域的知识。这套课程覆盖了专业词汇、学术论文写作、科研报告阅读、...
10. `news`:新闻或博客模块,用于发布和管理文章内容。 通过研究这些文件,我们可以学习到如何组织PHP项目的目录结构,了解不同部分之间的交互,以及如何实现常见的Web功能。此外,还能深入理解面向对象编程(OOP...
在文中,学生将作文选中的文章当作自己的作品提交,这违反了版权法,侵犯了原作者的权利。尽管这个行为发生在个人之间,且出于学习困境,但尊重他人知识产权的重要性不容忽视。学生应该了解,无论是网络上的信息还是...