- 浏览: 3462390 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
创建手机模拟器时:
屏幕分辨率
HVGA:320×480
QVGA:240x320
WQVGA400:240X400
WQVAG432:240X432
WVGA800: 480X800
WVGA854: 480X854
WebView,WebViewClient,WebChromeClient的关系
在WebView的设计中,不是什么事都要WebView类干的,有些杂事是分给其他人的,这样WebView专心干好自己的解析、渲染工作就行了。WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括:
onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest
WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
安装Android应用
<!-- 安装程序权限 -->
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
代码:
private EditText filenameText;//在sd卡中的路径
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button=(Button)this.findViewById(R.id.button);
filenameText=(EditText) this.findViewById(R.id.filename);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//标志,代表我要启动一个新的任务
//action=android.content.Intent.ACTION_VIEW
//category=android.intent.category.DEFAULT
//data:type=application/vnd.android.package-archive
intent.setAction(android.content.Intent.ACTION_VIEW);
Uri data=Uri.fromFile(new File(Environment.getExternalStorageDirectory(),filenameText.getText().toString()));
intent.setDataAndType(data,"application/vnd.android.package-archive");
startActivity(intent);
}else {
Toast.makeText(InstallActivity.this,"SD卡不存在",Toast.LENGTH_LONG).show();
}
}
});
}
startManagingCursor(Cursor cursor)这个方法告诉活动应该根据该活动的生命周期来管理光标的生命周期。例如,当活动被暂停时,它将自动停用光标,然后在活动重启时重新查询该光标。当活动终止时,所有托管的光标也将关闭。
stopManagingCursor(Cursor cursor)这个是停止根据该活动的生命周期来管理光标的生命周期。
在Android安全模式中,一个应用程序编写的文件无法被其他任何应用程序所读写。每个程序都有自己的Linux用户ID和数据目录(/data/data/包名),以及其受保护的内存空间。Android程序可通过下面两种方式进行彼此间的通信:
方式一 IPC(Inter-Process Communication,进程间通信):一个进程使用AIDL(Android Inteerface Definition Language,接口定义语言)和IBinder接口声明一个任意的API。调用该API时,将在进程间安全且有效地对参数进行编组。这个技术用于对后台Service线程进行远程过程调用。
方式二 ContentProvider:进程在系统中将它们本身注册为某些数据类型的提供者。详细见:http://justsee.iteye.com/blog/936612
@Override
public Cursor query(Uri uri, String[] projection,
String selection, String[] selectionArgs, String orderBy) {
if (uriMatcher.match(uri) == EVENTS_ID) {
long id = Long.parseLong(uri.getPathSegments().get(1));
selection = appendRowId(selection, id);
}
// Get the database and run the query
SQLiteDatabase db = events.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, projection, selection,
selectionArgs, null, null, orderBy);
// Tell the cursor what uri to watch, so it knows when its source data changes
cursor.setNotificationUri(getContext().getContentResolver(), uri);
return cursor;
}
这里要注意,这个观察者模式是从sdk level 1就有的,也就是说,cursor可以接收通知来感知content provider数据变化,但是不能做到异步刷新界面。这次1.6Loader机制通过官方支持实现了这个功能。
private String appendRowId(String selection, long id) {
return _ID + "=" + id
+ (!TextUtils.isEmpty(selection)
? " AND (" + selection + ')'
: "");
}
组件(Service,Activity,BoardcastReceiver,ContentProvider)运行在应用程序进程的主线程中,所以组件不会阻塞其他组件和用户界面。
一旦需要通过这4种组件完成请求,Android会首先确认该组件所在的进程是否运行,如果没有运行,Android将启动进程,同时确认被请求组件的实例是否存在,否则将创建一个新的组件实例。
findViewById(int id)原理:
View android.app.Activity.findViewById(int id),其中的id必须是之前已经设置为当前Activity主界面的XML布局文件中某个标签的id,否则findViewById会因为找不到View对象而返回null。
例如:
setContentView(R.layout.main);
fromSpinner = (Spinner) findViewById(R.id.from_language);
当需要引用其他XML布局文件中的View的时候,首先要根据XML的布局文件的设置构造View对象,然后View android.view.View.findViewById(int id)。
例如:
LinearLayout mainLayout=(LinearLayout)getLayoutflater().inflate(R.layout.main , null);
TextView tv=(TextView)mainLayout.findViewById(R.id.textview1);
tv.setText(R.string.hello);
setContentView(mainLayout);
发表评论
-
Android 桌面部件
2011-07-06 19:26 1864桌面部件是一种利用AppWidget框架将应用程序的某个部件放 ... -
Android 实时文件夹
2011-07-06 15:38 2852实时文件夹是一种用来显示由某个ContentProvider提 ... -
android 添加桌面快捷方式
2011-07-05 19:20 13281、在桌面创建快捷方式方法: 方法一:通过长按某一个应用程序的 ... -
Android权限详解
2011-07-04 09:43 2239在Android的设计中,资源的访问或者网络连接,要得到这 ... -
Android权限注解
2011-07-04 09:33 3472Android应用程序在使用很多功能的时候必须在Mainife ... -
ListView使用SimpleAdapter加载网络图片
2011-07-02 19:14 7706ListView是一种常见的布局,通过SimpleAdapte ... -
android:layout_gravity 和 android:gravity 的区别
2011-07-02 19:00 2099gravity 这个英文单词是重心的意思,在这里就表示 ... -
横竖屏切换时不销毁当前activity 和 锁定屏幕
2011-07-02 18:58 3622首先在Mainifest.xml的Activity元素 ... -
onSaveInstanceState和onRestoreInstanceState触发的时机
2011-07-02 17:49 2879当某个activity变得“容易”被系统销毁时,该ac ... -
strings.xml文件中提供占位符来格式化数据
2011-07-01 16:16 3223有些朋友可能会动态的修改Android中strings. ... -
ANDROID开机动画分析
2011-05-25 15:40 5925Android 2.0 开机动画文件分析。开机动画文件:boo ... -
Android专栏地址,真的不错啊!!!
2011-05-22 20:22 1651第三极: http://disanji.net/cate ... -
A1200入门DIY
2011-05-22 11:40 0A1200入门DIY 2007-04-16 19:33 ... -
android用户界面数据绑定
2011-05-19 21:25 5279当我们想用合适的方式显示并操作一些数据(如数组,链表,数据库等 ... -
emulator: ERROR: the user data image is used by another emulator. aborting
2011-05-19 13:48 2351今天早上起床,运行项目时报错:Error the use ... -
Android Map demo
2011-04-23 22:24 3392AndroidManifest.xml <?xm ... -
Android Map申请key
2011-04-23 22:02 31161. 首先先要获取你的debug keystore位置 ... -
conversion to dalvik format failed with error 1
2011-04-23 21:52 3471android低版本工程(如1.5)放到高版本环境中(如2.2 ... -
Android GPS基础
2011-04-20 22:14 2778package org.example.locationtes ... -
Android API:Activity.managedQuery()
2011-04-20 19:22 2626描述: 获取一个包含指定数据的 Cursor 对 ...
相关推荐
### Android开发技术要点详解 #### 一、Android操作系统概述 Android是一种基于Linux内核的开源移动操作系统,由Google公司及开放手机联盟共同开发维护。它主要用于智能手机和平板电脑等移动设备,同时也逐步扩展...
这篇"工作积累(11)-android功耗分析"可能是博主分享的一次关于Android设备能耗优化的经验总结。虽然描述中没有具体信息,但我们可以根据标题和标签推测其可能涉及的内容。 1. **功耗分析工具**: 在Android开发中...
这份压缩包文件"Android, Android 开发中积累和总结。.zip"很可能包含了开发者在实践过程中积累的代码示例、教程、最佳实践以及问题解决方案。其中的"Android-master"可能是一个GitHub项目的主分支名,暗示了这是一...
在Android开发中,UI设计是至关重要的一环,它直接影响到应用程序的用户体验。`RelativeLayout`是Android布局系统中的一种,以其灵活性和强大的功能被广泛使用。本文将深入探讨`RelativeLayout`的一些经典用法,帮助...
在Android系统中,驱动程序是操作系统与...通过实际项目经验积累,开发者可以掌握驱动的开发、移植和优化技巧,提升Android系统的性能和稳定性。在实践中,不断学习和探索,是成为一名优秀的Android驱动开发者的关键。
本资源“工作中积累UI特效”显然是一个开发者在实际工作过程中积累的Android UI设计与实现技巧的集合。下面,我们将详细探讨这些关键知识点。 1. **自定义View和动画** Android系统提供了丰富的内置控件,但有时候...
*Android 开发积累的重要经验 *Android 开发知识体系 *Android 开发方向 Flutter/Kotlin经验总结 *可维护可扩展 Android 开发攻略 *性能稳定 Android 开发攻略 ** 行业标准: 作者有数年Android开发经验. *...
android开发ui积累.doc
### Android ListView与Adapter的优化技巧 在Android应用开发过程中,`ListView`是一种非常常见的组件,用于显示一系列数据项。然而,在处理大量数据时,如何优化`ListView`及其绑定的`Adapter`就显得尤为重要。 #...
在Android开发领域,小项目是积累经验、提升技能的有效途径。"Android小项目集合100多个"这个资源包提供了一系列的学习和实践材料,旨在帮助开发者深入理解和掌握Android应用程序的开发技巧。以下将针对Android开发...
通过实训,学生能够巩固理论知识,提高对实际生活的认知,积累实践经验,培养独立思考和团队协作能力。 实训的主要任务包括: 1. 认识Android开发基础,理解其操作系统、用户界面和应用程序的构成。 2. 学习和掌握...
本教程将深入探讨“androidの多种风格listview不同案例积累使用”,旨在帮助开发者掌握ListView的各种使用技巧和样式设计,提升用户体验。 首先,我们要理解ListView的基本结构。ListView由多个ListView项...
- 需要定期清理编译环境,避免积累过多的中间文件。 #### 五、源码分析与开发 对于开发者而言,获取Android 8.1的源码意味着可以获得对底层实现的深入理解。通过阅读和分析源码,开发者可以: 1. **学习核心组件...
随着经验的积累,可以进一步探索更复杂的功能,如网络通信、数据库操作、多媒体处理、动画效果等,从而提升自己的编程技能。记得在实践中不断查阅官方文档,参加在线课程,参考其他优秀应用的源码,以加速学习进程。
Android-19源码分析与探索 Android操作系统是基于Linux内核的开源移动设备平台,其源码提供了深入了解系统运行机制的机会。...源码学习不仅是理论知识的积累,也是实践经验的积累,对于提升个人技术能力具有重要意义。
在Android开发中,为了增强应用的用户体验和视觉吸引力,开发者经常需要实现各种特效。...通过实践这个项目,你不仅能掌握这些技能,还能提高解决复杂问题的能力,为今后的Android开发积累宝贵经验。
【Android Studio 地方天气查询】项目详解 ...随着经验的积累,你可以进一步扩展功能,比如添加更多天气指标、动画效果、多城市管理等,提升用户体验。记住,持续学习和实践是成为优秀Android开发者的关键。
在完成此项目后,学生会深刻理解Android开发流程,提高问题解决能力,增强团队协作和项目管理意识,同时也对Android的UI设计、网络编程、数据存储等方面有深入认识,为后续的Android开发工作积累了宝贵经验。
通过阅读文档、参与开源项目、编写自己的小应用,不断积累经验和提升技能。 以上就是史上最详细的Android开发环境搭建教程,涵盖了从安装JDK到编写第一个Android应用的所有步骤。希望这个指南能帮助你成功踏入...