谷歌地图反向解析 |
|
|
http://ditu.google.cn/maps/geo?hl=zh-CN&output=csv&key=abcdef&q=31.1198723,121.1099877
|
Object-c中文提交转utf-8 |
|
|
puname = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)searchBar.text,
NULL,
(CFStringRef)@"!*'$, %#[]",
kCFStringEncodingUTF8);
|
android 隐藏图标 |
|
|
只需去掉
<category android:name="android.intent.category.LAUNCHER" />
|
android actionGroup的使用 |
|
|
# public class testActivityGroup extends ActivityGroup {
# /** Called when the activity is first created. */
# LinearLayout container;//装载sub Activity的容器
# ImageButton ibtnTab1,ibtnTab2;
# @Override
# public void onCreate(Bundle savedInstanceState) {
# super.onCreate(savedInstanceState);
# setContentView(R.layout.main);
#
# container = (LinearLayout) findViewById(R.id.LinearLayout02);
# ibtnTab1=(ImageButton)this.findViewById(R.id.ibtnTab1);
# ibtnTab1.setOnClickListener(new ClickEvent());
# ibtnTab2=(ImageButton)this.findViewById(R.id.ibtnTab2);
# ibtnTab2.setOnClickListener(new ClickEvent());
# }
#
# class ClickEvent implements View.OnClickListener{
#
# @Override
# public void onClick(View v) {
# container.removeAllViews();
# Intent intent=new Intent(testActivityGroup.this, subActivity.class);
# intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
# String[] str=new String[12];
# if(v==ibtnTab1)
# {
# for(int i=0;i<str.length;i++)
# str[i]="单选"+String.valueOf(i);
# intent.putExtra("Name", "subActivity1");
# intent.putExtra("Strings", str);
# intent.putExtra("ChoiceMode", ListView.CHOICE_MODE_SINGLE);//通过参数设置列表式样
# }
# else if(v==ibtnTab2)
# {
# for(int i=0;i<str.length;i++)
# str[i]="复选"+String.valueOf(i);
# intent.putExtra("Name", "subActivity2");
# intent.putExtra("Strings", str);
# intent.putExtra("ChoiceMode", ListView.CHOICE_MODE_MULTIPLE);//通过参数设置列表式样
# }
#
# Window subActivity=getLocalActivityManager().startActivity("subActivity",intent);
# container.addView(subActivity.getDecorView());
# }
#
# }
# }
|
Android删除短信的处理 |
|
|
android的很多功能都是需要权限才能操作,还是有很多功能我们是可以直接操作的,只需要在配置文件中注明权限就行了,可是有些虽然注明了权限,但是还是会提示说你没权限。比如删除短信、让手机进入休眠状态(gotoSleep)。下面就介绍一下我是如何删除一条属于黑名单中的短信:
1、获取你想要删除的短信的线程ID(因为我想删除最近收到的一条短信,所以我只需按时间进行倒序,然后获取第一条短信的线程ID就行了)
private long getThreadId() {
long threadId = 0;
String SMS_READ_COLUMN = "read";
String WHERE_CONDITION = SMS_READ_COLUMN + " = 0";
String SORT_ORDER = "date DESC";
int count = 0;
Cursor cursor = mContext.getContentResolver().query(
Uri.parse("content://sms/inbox"),new String[]{ "_id", "thread_id", "address", "person", "date", "body" },
WHERE_CONDITION,null,SORT_ORDER);
if (cursor != null) {
try {
count = cursor.getCount();
if (count > 0) {
cursor.moveToFirst();
threadId = cursor.getLong(1);
}
} finally {
cursor.close();
}
}
Log.i("threadId", String.valueOf(threadId));
return threadId;
}
private long getThreadId() {
long threadId = 0;
String SMS_READ_COLUMN = "read";
String WHERE_CONDITION = SMS_READ_COLUMN + " = 0";
String SORT_ORDER = "date DESC";
int count = 0;
Cursor cursor = mContext.getContentResolver().query(
Uri.parse("content://sms/inbox"),new String[] { "_id", "thread_id", "address", "person", "date", "body" },
WHERE_CONDITION,null,SORT_ORDER);
if (cursor != null) {
try {
count = cursor.getCount();
if (count > 0) {
cursor.moveToFirst();
threadId = cursor.getLong(1);
}
} finally {
cursor.close();
}
}
Log.i("threadId", String.valueOf(threadId));
return threadId;
}
2、删除短信
long id = getThreadId();
Uri mUri=Uri.parse("content://sms/conversations/" + id);
mContext.getContentResolver().delete(mUri, null, null);
long id = getThreadId();
Uri mUri=Uri.parse("content://sms/conversations/" + id);
mContext.getContentResolver().delete(mUri, null, null);
这能通过这种方式删除短信,如果你想通过其他条件删除的话,那么就会提示你不够权限删除。但是这种方式只是删除收信箱中的短信
|
android 常用数据库字段描述 |
|
|
|
android 获取联系人头像 |
|
|
|
android socket通信 |
|
|
Android上的客户端程序,在一般情况下,隔一段时间就需要升级更新,而最方便的方式,莫过于在线更新,下面就来讲讲 怎么实现。
当然,首先你需要有一个服务器,用来存储最新版本的客户端,并提供下载。服务端的程序暂时不说。 主要是客户端,首先你需要写一个配置文件,放在程序能读取到的地方,比如assert中,配置文件中是服务器的一些信息 。然后客户端在程序初始化的时候,首先解析配置文件 ,取得服务器URL,然后访问服务器,在访问http头中,加入一个新的熟悉,比如"version",这个属性当然也是配置文件中定义好的,然后值是你的当前版本号,取得返回头,如果返回头中的"version"为空,则无最新版本,如果不为空,则有,然后就读取流,把文件下载到指定位置。下载完以后,提示系统去安装就可以了,安装代码如下:
view sourceprint?
1 Intent intent = new Intent(Intent.ACTION_VIEW);
2 intent.setDataAndType(/*临时路径*/,
3 "application/vnd.android.package-archive");
4 context.startActivity(intent);<br>
然后就是系统的事啦,写的有些乱,不过总体思路就是这样。
|
android 自动升级 |
|
|
Android上的客户端程序,在一般情况下,隔一段时间就需要升级更新,而最方便的方式,莫过于在线更新,下面就来讲讲 怎么实现。
当然,首先你需要有一个服务器,用来存储最新版本的客户端,并提供下载。服务端的程序暂时不说。 主要是客户端,首先你需要写一个配置文件,放在程序能读取到的地方,比如assert中,配置文件中是服务器的一些信息 。然后客户端在程序初始化的时候,首先解析配置文件 ,取得服务器URL,然后访问服务器,在访问http头中,加入一个新的熟悉,比如"version",这个属性当然也是配置文件中定义好的,然后值是你的当前版本号,取得返回头,如果返回头中的"version"为空,则无最新版本,如果不为空,则有,然后就读取流,把文件下载到指定位置。下载完以后,提示系统去安装就可以了,安装代码如下:
view sourceprint?
1 Intent intent = new Intent(Intent.ACTION_VIEW);
2 intent.setDataAndType(/*临时路径*/,
3 "application/vnd.android.package-archive");
4 context.startActivity(intent);<br>
然后就是系统的事啦,写的有些乱,不过总体思路就是这样。
|
android 添加桌面快捷方式 |
|
|
|
android 呼叫转移 |
|
|
|
android 图像变灰 |
|
|
Drawable mDrawable = context.getResources().getDrawable(R.drawable.face_icon);
//Make this drawable mutable.
//A mutable drawable is guaranteed to not share its state with any other drawable.
mDrawable.mutate();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
ColorMatrixColorFilter cf = new ColorMatrixColorFilter(cm);
mDrawable.setColorFilter(cf);
Drawable mDrawable = context.getResources().getDrawable(R.drawable.face_icon);
//Make this drawable mutable.
//A mutable drawable is guaranteed to not share its state with any other drawable.
mDrawable.mutate();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
ColorMatrixColorFilter cf = new ColorMatrixColorFilter(cm);
mDrawable.setColorFilter(cf);
|
android 常用Intent |
|
|
1,调web浏览器
Uri myBlogUri = Uri.parse("http://xxxxx.com");
returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);
2,地图
Uri mapUri = Uri.parse("geo:38.899533,-77.036476");
returnIt = new Intent(Intent.ACTION_VIEW, mapUri);
3,调拨打电话界面
Uri telUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_DIAL, telUri);
4,直接拨打电话
Uri callUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_CALL, callUri);
5,卸载
Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);
6,安装
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
7,播放
Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);
8,掉用发邮件
Uri emailUri = Uri.parse("mailto:xxxx@gmail.com");
returnIt = new Intent(Intent.ACTION_SENDTO, emailUri);
9,发邮件
returnIt = new Intent(Intent.ACTION_SEND);
String[] tos = { "xxxx@gmail.com" };
String[] ccs = { "xxxx@gmail.com" };
returnIt.putExtra(Intent.EXTRA_EMAIL, tos);
returnIt.putExtra(Intent.EXTRA_CC, ccs);
returnIt.putExtra(Intent.EXTRA_TEXT, "body");
returnIt.putExtra(Intent.EXTRA_SUBJECT, "subject");
returnIt.setType("message/rfc882");
Intent.createChooser(returnIt, "Choose Email Client");
10,发短信
Uri smsUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_VIEW, smsUri);
returnIt.putExtra("sms_body", "yyyy");
returnIt.setType("vnd.android-dir/mms-sms");
11,直接发邮件
Uri smsToUri = Uri.parse("smsto://100861");
returnIt = new Intent(Intent.ACTION_SENDTO, smsToUri);
returnIt.putExtra("sms_body", "yyyy");
12,发彩信
Uri mmsUri = Uri.parse("content://media/external/images/media/23");
returnIt = new Intent(Intent.ACTION_SEND);
returnIt.putExtra("sms_body", "yyyy");
returnIt.putExtra(Intent.EXTRA_STREAM, mmsUri);
returnIt.setType("image/png");
13.调用联系人列表:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setData(Contacts.People.CONTENT_URI);
startActivity(intent);
startActivityForResult(intent, 0);
|