- 浏览: 597233 次
- 性别:
- 来自: 上海
最新评论
-
u012136165:
list 方法:纠正:[2,5].add(1,9) ...
Groovy的list和map -
bruce.yuan:
误人子弟的文章。已经看到N个人转了这个帖子,这要贻害多少新人啊 ...
理解并解决GBK转UTF-8奇数中文乱码 -
思念-悲伤:
特意登录上来,感谢下!
理解String的compareTo()方法返回值 -
bo_hai:
总结的好,有效。
理解String的compareTo()方法返回值 -
u012678420:
在onCreate方法中获取某个View的宽度和高度
文章列表
深入分析AIDL原理
- 博客分类:
- Android
在上一篇文章(Service使用方式)中,介绍了Android进程间通信(IPC)的使用,并给出了一个示例。但并没有深入分析aidl是怎样可以做到进程间通信的,它的执行过程是怎样的?
这篇文章来分析IRemoteService.aidl的执行过程,并理解aidl是怎样跨进程通信的。
当我们创建IRemoteService.aidl文件时,IDE会为我们在gen目录中创建相应的文件。
/** This file is auto-generated. DO NOT MODIFY.
* Original file: F:\\workspace\\AndroidImprov ...
Service使用方式
- 博客分类:
- Android
使用Service的场合:
1.一个或多个Activity需要向同一应用中的Service发出执行某一操作的命令。
PS:不需要绑定
2.某个Activity需要同一应用中的Service为其单独服务,当此Activity消毁时,也将为其服务的Service一并消毁。
...
有时候需要在onCreate方法中知道某个View组件的宽度和高度等信息,而直接调用View组件的getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight()、getTop()、getLeft()等方法是无法获取到真实值的,只会得到0。这是因为View组件布局要在onResume回调后完成。下面提供实现方法,onGlobalLayout回调会在布局完成时自动调用
final LinearLayout imageViewContainer = (LinearLayout)findViewById(R.id.crop_photo_ ...
不加载图片,仅仅获取图片文件分辨率
- 博客分类:
- Android
当从SD卡中获取图片时,如果图片太大,加载会出现溢出异常。因此,需要先获取到分辨率,再对大图片按分辨率比率缩小后加载,这样就能够防止溢出异常。
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);//没有加载图片,仅获取到图片分辨率
Log.i("CDH", ...
import android.graphics.Matrix;
import android.graphics.PointF;
import android.util.FloatMath;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
public class MulitPointTouchListen ...
定时任务有执行一次和重复执行两种
public class AlarmBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, R.string.show_message, Toast.LENGTH_SHORT).show();
}
}
/**
* 执行一次
*/
public void oneShotAlarm() {
Int ...
LayoutInflater layoutInflater;
1.layoutInflater = Context.getLayoutInflater();
2.layoutInflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
3.layoutInflater = LayoutInflater.from(this);
判断网络类型及是否有网络
- 博客分类:
- Android
判断当前是否有可用网络
public boolean checkNetworkAvailable() {
boolean isNetworkAvailable = false;
android.net.ConnectivityManager connManager = (android.net.ConnectivityManager)getApplicationContext().getSystemService(android.content.Context.CONNECTIVITY_SERVICE);
if(connManager.getActiveNetworkInfo ...
1.编程方式
public void setFullScreenMethod1(boolean isFullScreen) {
if (isFullScreen) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
//也可以用下面的清除Flag
//getWindow().clearFlags(Windo ...
dip与px单位之间转换
- 博客分类:
- Android
//转换dip为px
public static int convertDIP2PX(Context context, int dip) {
float scale = context.getResources().getDisplayMetrics().density;
return (int)(dip*scale + 0.5f*(dip>=0?1:-1));
}
//转换px为dip
public static int convertPX2DIP(Context context, int px) {
float scale = context.getRes ...
Display display = getWindowManager().getDefaultDisplay();
display.getWidth();//返回px值
display.getHeight();//返回px值
display.getRotation();返回0或1,0表示竖屏,1表示横屏
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
dm.density;
dm.heightPixels;
dm.widthP ...
判断手机外存(SD卡)状态
- 博客分类:
- Android
public int getExternalStorageState() {
int result;//0:不可读写 1:只读 2:读写
String state = android.os.Environment.getExternalStorageState();
if(android.os.Environment.MEDIA_MOUNTED.equals(state)){
result = 2;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
result = 1;
} el ...
SQLite数据类型
- 博客分类:
- Android
一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数
据类型:
1.NULL:空值。
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
3.REAL:浮点 ...
接着上一篇文章"使用WebView实现新浪微博OAuth登录",实现腾讯微博OAuth登录。
#腾讯官方下载SDK
http://open.t.qq.com/resource.php?i=3,1
#申请应用KEY
登录腾讯微博,进入http://open.t.qq.com/申请应用,获取KEY和SECRET。
#准备
在项目中导入QWeiboSDK.jar、dom4j-1.6.1.jar(这两个包是由官方下载的SDK提供)
这里只给出腾讯OAuth登录代码,其它代码看上一篇文章
package com.oauth; ...
#新浪官方下载SDK(weibo4android)
http://open.weibo.com/wiki/index.php/SDK
#申请应用KEY
登录新浪微博,进入http://open.weibo.com/申请应用,获取KEY和SECRET。
#准备
在项目中导入commons-httpclient-3.x.jar并加入weibo4android、weibo4android.http、weibo4android.org.json、weibo4android.util包文件(这些都是官方下载的SDK提供的文件)
在跳转到新浪微博授权页面时会使用默认浏览器 ...