`
xiangxingchina
  • 浏览: 520097 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 开发中中,经常用到的代码(转载)

 
阅读更多

android 开发中中,经常用到的代码(转载)
2012-04-19 12:13 by 宁 录, 56 阅读, 0 评论, 收藏, 编辑

1 活动管理器
权限 <uses-permission android:name="android.permission.GET_TASKS"/>
代码 ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

2 警报管理器 权限
代码 AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

3 音频管理器 权限
代码 AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
4 剪贴板管理器 权限
代码 ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);

5 连接管理器 权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
代码 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVIT

6 输入法管理器 权限
代码 InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_S)
7 键盘管理器 权限
代码 KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);

8 布局解压器管理器 权限
代码 LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

9 位置管理器 权限
代码 LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

10 通知管理器 权限
代码 NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATIO)

11 电源管理器 权限 <uses-permission android:name="android.permission.DEVICE_POWER"/>
代码 PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);

12 搜索管理器 权限
代码 SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);

13 传感器管理器 权限
代码 SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

14 电话管理器 权限 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
代码 TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

15 振动器 权限 <uses-permission android:name="android.permission.VIBRATE"/>
代码 Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

16 墙纸 权限 <uses-permission android:name="android.permission.SET_WALLPAPER"/>
代码 WallpaperService wallpaperService = (WallpaperService) getSystemService(Context.WALLPAPER_SERVICE);

17 Wi-Fi管理器 权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
代码 WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

18 窗口管理器 权限
代码 WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);

19获取用户android手机 机器码和手机号
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
  String imei = tm.getDeviceId();//获取机器码
   String tel = tm.getLine1Number();//获取手机号
20设置为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
21无标题栏、全屏
//无标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE); //要在setcontentView之前哦
//全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);


22 获取屏幕宽高
DisplayMetrics dm = new DisplayMetrics();
//获取窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;//320
int screenHeight = dm.heightPixels;//480


23使用样式表
在 res/values下面新建一个XML文件style.xml ,然后写下如下代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="style1">
<item name="android:textSize">18sp</item>
<item name="android:textColor">#EC9237</item>
</style>
<style name="style2"><item name="android:textSize">10sp</item>
<item name="android:textColor">#FF9237</item>
</style>
</resources>

使用:
<TextView
style="@style/style1"//调用style
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="样式1"
android:id="@+id/Tv1">
</TextView>

24使用布局文件,切换 布局
建立两个布局文件
在事件里面写代码
@Override
public void onClick(View v) {
helllo.this.setContentView(R.layout.layout2);
Button tempBtn=(Button)findViewById(R.id.btn_click1);
tempBtn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
helllo.this.setContentView(R.layout.xxx);
}
});


=========================================================================
1.Intent用法
2010-04-27 12:09


Intent it = new Intent(Activity.Main.this, Activity2.class);
startActivity(it);
2. 向下一个Activity传递数据(使用Bundle和Intent.putExtras)
Intent it = new Intent(Activity.Main.this, Activity2.class);
Bundle bundle=new Bundle();
bundle.putString("name", "This is from MainActivity!");
it.putExtras(bundle); // it.putExtra(“test”, "shuju”);
startActivity(it); // startActivityForResult(it,REQUEST_CODE);
对于数据 的获取可以采用:
Bundle bundle=getIntent().getExtras();
String name=bundle.getString("name");
3. 向上一个Activity返回结果(使用setResult,针对startActivityForResult(it,REQUEST_CODE)启动 的Activity)
Intent intent=getIntent();
Bundle bundle2=new Bundle();
bundle2.putString("name", "This is from ShowMsg!");
intent.putExtras(bundle2);
setResult(RESULT_OK, intent);
4. 回调上一个Activity的结果处理函数(onActivityResult)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==REQUEST_CODE){
if(resultCode==RESULT_CANCELED)
setTitle("cancle");
else if (resultCode==RESULT_OK) {
String temp=null;
Bundle bundle=data.getExtras();
if(bundle!=null) temp=bundle.getString("name");
setTitle(temp);
}
}
}
显示网页
1. Uri uri = Uri.parse("http://google.com");
2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
3. startActivity(it);
显示地图
1. Uri uri = Uri.parse("geo:38.899533,-77.036476");
2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
3. startActivity(it);
4. //其他 geo URI 範例
5. //geo:latitude,longitude
6. //geo:latitude,longitude?z=zoom
7. //geo:0,0?q=my+street+address
8. //geo:0,0?q=business+near+city
9. //google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom
路 径规划
1. Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat startLng&daddr=endLat endLng&hl=en");
2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
3. startActivity(it);
4. //where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456
打 电话
1. //叫出拨号程序
2. Uri uri = Uri.parse("tel:0800000123");
3. Intent it = new Intent(Intent.ACTION_DIAL, uri);
4. startActivity(it);
1. //直接打电话出去
2. Uri uri = Uri.parse("tel:0800000123");
3. Intent it = new Intent(Intent.ACTION_CALL, uri);
4. startActivity(it);
5. //用這個,要在 AndroidManifest.xml 中,加上
6. //<uses-permission id="android.permission.CALL_PHONE" />
传 送SMS/MMS
1. //调用短信程序
2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
3. it.putExtra("sms_body", "The SMS text");
4. it.setType("vnd.android-dir/mms-sms");
5. startActivity(it);
1. //传送消息
2. Uri uri = Uri.parse("smsto://0800000123");
3. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
4. it.putExtra("sms_body", "The SMS text");
5. startActivity(it);
1. //传送 MMS
2. Uri uri = Uri.parse("content://media/external/images/media/23");
3. Intent it = new Intent(Intent.ACTION_SEND);
4. it.putExtra("sms_body", "some text");
5. it.putExtra(Intent.EXTRA_STREAM, uri);
6. it.setType("image/png");
7. startActivity(it);
传 送 Email
1. Uri uri = Uri.parse("mailto:xxx@abc.com");
2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
3. startActivity(it);
1. Intent it = new Intent(Intent.ACTION_SEND);
2. it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");
3. it.putExtra(Intent.EXTRA_TEXT, "The email body text");
4. it.setType("text/plain");
5. startActivity(Intent.createChooser(it, "Choose Email Client"));
1. Intent it=new Intent(Intent.ACTION_SEND);
2. String[] tos={"me@abc.com"};
3. String[] ccs={"you@abc.com"};
4. it.putExtra(Intent.EXTRA_EMAIL, tos);
5. it.putExtra(Intent.EXTRA_CC, ccs);
6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");
7. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
8. it.setType("message/rfc822");
9. startActivity(Intent.createChooser(it, "Choose Email Client"));
1. //传送附件
2. Intent it = new Intent(Intent.ACTION_SEND);
3. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
4. it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");
5. sendIntent.setType("audio/mp3");
6. startActivity(Intent.createChooser(it, "Choose Email Client"));
播 放多媒体
Uri uri = Uri.parse("file:///sdcard/song.mp3");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
it.setType("audio/mp3");
startActivity(it);
Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
Market 相关
1. //寻找某个应用
2. Uri uri = Uri.parse("market://search?q=pname:pkg_name");
3. Intent it = new Intent(Intent.ACTION_VIEW, uri);
4. startActivity(it);
5. //where pkg_name is the full package path for an application
1. //显示某个应用的相关信息
2. Uri uri = Uri.parse("market://details?id=app_id");
3. Intent it = new Intent(Intent.ACTION_VIEW, uri);
4. startActivity(it);
5. //where app_id is the application ID, find the ID
6. //by clicking on your application on Market home
7. //page, and notice the ID from the address bar
Uninstall 应用程序
1. Uri uri = Uri.fromParts("package", strPackageName, null);
2. Intent it = new Intent(Intent.ACTION_DELETE, uri);
3. startActivity(it);
===============================================================================
1 调用浏览器 载入某网址
view plaincopy to clipboardprint?
Uri uri = Uri.parse("http://www.baidu.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
2 Broadcast接收系统广播的intent 监控应用程序包的安装 删除
view plaincopy to clipboardprint?
public class getBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())){
Toast.makeText(context, "有应用被添加", Toast.LENGTH_LONG).show();
}
else if(Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())){
Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();
}
else if(Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())){
Toast.makeText(context, "有应用被替换", Toast.LENGTH_LONG).show();
}
else if(Intent.ACTION_CAMERA_BUTTON.equals(intent.getAction())){
Toast.makeText(context, "按键", Toast.LENGTH_LONG).show();
}
}
}
需要声明的权限如下AndroidManifest.xml
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="zy.Broadcast"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Broadcast"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="getBroadcast" android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED"></action>
<!-- <action android:name="android.intent.action.PACKAGE_CHANGED"></action>-->
<action android:name="android.intent.action.PACKAGE_REMOVED"></action>
<action android:name="android.intent.action.PACKAGE_REPLACED"></action>
<!-- <action android:name="android.intent.action.PACKAGE_RESTARTED"></action>-->
<!-- <action android:name="android.intent.action.PACKAGE_INSTALL"></action>-->
<action android:name="android.intent.action.CAMERA_BUTTON"></action>
<data android:scheme="package"></data>
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
3 使用Toast输出一个字符串
view plaincopy to clipboardprint?
public void DisplayToast(String str)
{
Toast.makeText(this,str,Toast.LENGTH_SHORT).show();
}
4 把一个字符串写进文件
view plaincopy to clipboardprint?
public void writefile(String str,String path )
{
File file;
FileOutputStream out;
try {
//创建文件
file = new File(path);
file.createNewFile();
//打开文件file的OutputStream
out = new FileOutputStream(file);
String infoToWrite = str;
//将字符串转换成byte数组写入文件
out.write(infoToWrite.getBytes());
//关闭文件file的OutputStream
out.close();
} catch (IOException e) {
//将出错信息打印到Logcat
DisplayToast(e.toString());
}
}
5 把文件内容读出到一个字符串
view plaincopy to clipboardprint?
public String getinfo(String path)
{
File file;
String str="";
FileInputStream in;
try{
//打开文件file的InputStream
file = new File(path);
in = new FileInputStream(file);
//将文件内容全部读入到byte数组
int length = (int)file.length();
byte[] temp = new byte[length];
in.read(temp, 0, length);
//将byte数组用UTF-8编码并存入display字符串中
str = EncodingUtils.getString(temp,TEXT_ENCODING);
//关闭文件file的InputStream
in.close();
}
catch (IOException e) {
DisplayToast(e.toString());
}
return str;
}
6 调用Android installer 安装和卸载程序
view plaincopy to clipboardprint?
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File("/sdcard/WorldCupTimer.apk")), "application/vnd.android.package-archive");
startActivity(intent); //安装 程序
Uri packageURI = Uri.parse("package:zy.dnh");
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);//正常卸载程序
7 结束某个进程
view plaincopy to clipboardprint?
activityManager.restartPackage(packageName);
8 设置默认来电铃声
view plaincopy to clipboardprint?
public void setMyRingtone()
{
File k = new File("/sdcard/Shall We Talk.mp3"); // 设置歌曲路径
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, "Shall We Talk");
values.put(MediaStore.MediaColumns.SIZE, 8474325);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.ARTIST, "Madonna");
values.put(MediaStore.Audio.Media.DURATION, 230);
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
values.put(MediaStore.Audio.Media.IS_ALARM, false);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);
// Insert it into the database
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
Uri newUri = this.getContentResolver().insert(uri, values);
RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager.TYPE_RINGTONE, newUri);
;}
需要的权限
view plaincopy to clipboardprint?
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
分享到:
评论

相关推荐

    蓝牙开发代码(c语言)

    标题"蓝牙开发代码(c语言)"提示我们关注的是C语言实现的蓝牙编程。C语言以其高效和灵活性著称,是操作系统和嵌入式系统的首选语言,而蓝牙开发通常涉及到这些领域。在这个主题中,我们可能会看到如何使用C语言与...

    Android代码-AndroidUIAdapter

    安卓屏幕适配方案,只需一个步骤即可使用,也可根据自己项目设计图画布大小和像素尺寸实时精准适配,适配所有市面上各种大小不一的安卓手机屏幕,特点是可以直接在Android studio的XML编辑器中直接预览不同手机屏幕...

    数据结构中中缀表达式源代码

    根据给定的信息,本文将详细解释“数据结构中中缀表达式源代码”的知识点,包括栈的基本概念、中缀表达式转换为后缀表达式的原理以及如何通过栈来计算后缀表达式的值。 ### 一、栈的基本概念 栈是一种线性数据结构...

    电子备忘录(附完整版答辩论文,含代码)

    论文首先论述了本Android电子备忘录的开发背景和设计目标,并对软件开发所采用的技术进行相应的简单介绍。在系统分析中,对软件的模型进行简单分析,明确软件的操作流程,并对软件进行可行性分析,确定在目前的条件...

    java手机软件-MuiltDic小学馆日中中日词典

    首先,MuiltDic小学馆日中中日词典是基于Java开发的,这意味着它具有跨平台性,可以在支持Java的多种手机操作系统上运行,包括早期的非智能手机到后来的Android和Java ME等系统。Java的这一特性使得该词典能够覆盖更...

    中中新闻采集器

    它不包含代码或项目信息,但对开发环境的配置有影响。 3. ZZSiteHunter.vssscc: 这是版本控制系统(可能是Visual SourceSafe)的配置文件,用于跟踪项目中的文件变更和版本控制。 4. Data: 这个文件夹可能包含了...

    android 数据库sqllite操作的完整例子

    try{ /* 初始化并创建数据库 */ dbHelper = new SQLiteHelper(this, DB_NAME, null, DB_VERSION); /* 创建表 */ db = dbHelper.getWritableDatabase(); //调用SQLiteHelper.OnCreate() ...

    Java、 jsp 开发平台Eclipse快捷键大全

    ### Java与JSP开发平台Eclipse快捷键大全 在Java及JSP的开发过程中,熟练掌握Eclipse这一集成开发环境(IDE)中的快捷键能够极大地提高工作效率。下面将详细介绍Eclipse中常用的各种快捷键及其功能。 #### 基础...

    Matlab中指滤波

    本文将详细介绍如何使用Matlab实现图像的中值滤波,并通过一个示例代码来具体展示其实现过程。 #### 二、中值滤波原理 中值滤波的基本思想是:对图像中的每一个像素点,用其邻域内的像素值的中值代替该像素值,...

    中值滤波代码matlab-Aplikasi_Perbaikan_Citra:GUI应用程序,使用中值滤波方法校正图像中的噪声

    中值滤波代码matlab Application_Perfections_Citra GUI应用程序,使用中值滤波方法校正图像中的噪声 Nama : Arif Samsudin NIM : 311910255 Kelas : TI 19 C1 1.准备创建GUI应用程序 在命令窗口中输入指南,然后按...

    云开发高效学习微信小程序源码

    该小程序源码类目中中包含了复习资料、学习共享、正念自习功能,护眼精灵、每日打卡和竞赛资讯等功能,目前功能如下,后期将会迭代更新,完善与开发更多具有新特性的功能。 小程序源码导入微信开发者工具时需要选择...

    在libGDX中调用Android设备摄像头

    如何在libGDX框架中中调用android摄像头的代码,不是镜头,是设备摄像头,可以实现类似AR的效果,但是没有互动,也是配合http://blog.csdn.net/weiqiang_1989/article/details/52170522使用 或者也可以算是 ...

    高效学习微信小程序源码云开发版 包含复习资料+学习共享+护眼精灵等功能

    该小程序源码类目中中包含了复习资料、学习共享、正念自习功能,护眼精灵、每日打卡和竞赛资讯等功能,目前功能如下,后期将会迭代更新,完善与开发更多具有新特性的功能。 小程序源码导入微信开发者工具时需要选择...

    中值滤波代码matlab-Image-filtering-without-predefined-filters:不同类型的滤镜(平滑,边缘保留

    中值过滤代码matlab 没有预定义过滤器的图像过滤 不同类型的滤镜(平滑,边缘保留等)应用于Matlab中的样本图像,并且没有任何内置功能即可实现。 代码运行时,将显示初始图像及其处理结果。 平滑过滤器 盒子或平均...

    中值滤波代码matlab-BCI_Summer-17:BCI_Summer-17

    中值过滤代码matlab BCI_Summer-17 电子俱乐部IITK Summer'17项目 我们试图猜测对象大脑中正在发生的心理过程。 当前可以识别以下过程(它们是sh): 放松的国家主体是放松的,没有特别考虑任何事情。 向3D几何任务...

    和风天气-天气预报应用实现

    1、 在手机中包含主视图和细节视图,主视图显示连续多天的天气预报简讯,用户在主视图中点击某一天的天气简讯以后,跳出细节视图,显示用户选定当天天气的详细信息。...如果setting选项中中的天气通知选项

    C_Free 5编程[带注册密钥]

    软件中中集成了C/C++代码解析器,能够实时解析代码,并且在编写的过程中给出智能的提示。C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档...

    eclipse JDT的使用

    9. **团队协作**:JDT与Eclipse的团队协作功能紧密集成,支持多种版本控制系统,如Git、SVN等,方便开发者协同开发和管理代码。 10. **Javadoc和源码查看**:Eclipse JDT内置了Javadoc查看器,可以查看API文档,...

    android_SimpleBarcodeScanner

    3、项目构建路径中中引用了一个“zxingcore.jar”文件,这是zxing项目中“core”文件夹下的内容打包得到的,可以从这里下载: http://download.csdn.net/detail/anod/6466049 4、为了使用简单些,对...

Global site tag (gtag.js) - Google Analytics