14个简单有用的android源码,适合初学者

标签: android 源码 初学者 | 发表时间:2013-08-07 23:05 | 作者:jason0539
出处:http://blog.csdn.net

1:查看是否有存储卡插入

String status=Environment.getExternalStorageState();
if(status.equals(Enviroment.MEDIA_MOUNTED))
{
   ;//说明有SD卡插入
}

2:让某个Activity透明

在OnCreate 中不设Layout,然后this.setTheme(R.style.Theme_Transparent);

3:获取屏幕宽高

DisplayMetrics dm = new DisplayMetrics();  
//获取窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);    
int screenWidth = dm.widthPixels;  
int screenHeight = dm.heightPixels;

4:发送短信

String body=”this is mms demo”;
Intent mmsIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”, number, null));
mmsIntent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
mmsIntent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);
mmsIntent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);
startActivity(mmsIntent);

   5:发送彩信

StringBuilder sb = new StringBuilder();
            sb.append(”file://”);
            sb.append(fd.getAbsoluteFile());
            Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”mmsto”, number, null));
            // Below extra datas are all optional.
            intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);
            intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);
            intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());
            intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);
            intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);
            startActivity(intent);

7:发送Mail

   mime = “img/jpg”;
            shareIntent.setDataAndType(Uri.fromFile(fd), mime);
            shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd));
            shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
            shareIntent.putExtra(Intent.EXTRA_TEXT, body);

8:注册一个 BroadcastReceiver

registerReceiver(mMasterResetReciever, new IntentFilter(”oms.action.MASTERRESET”));
private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent){
            String action = intent.getAction();
            if(”oms.action.MASTERRESET”.equals(action)){
                RecoverDefaultConfig();
            }
        }
    };

9:定义ContentObserver,监听某个数据表

private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI);
private class DownloadsChangeObserver extends ContentObserver {
        public DownloadsChangeObserver(Uri uri) {
            super(new Handler());
        }
        @Override
        public void onChange(boolean selfChange) {}  
        }

10:获得 手机UA

public String getUserAgent() { 

String user_agent = ProductProperties.get(ProductProperties.USER_AGENT_KEY, null);

return user_agent; 

}

11:清空手机上Cookie

CookieSyncManager.createInstance(getApplicationContext()); 

CookieManager.getInstance().removeAllCookie();

12:建立GPRS 连接

private boolean openDataConnection() { 

DataConnection conn = DataConnection.getInstance();

 if (connectMode == 0) { 

  ret = conn.openConnection(mContext, “cmwap”, “cmwap”, “cmwap”);

 } else { 

  ret = conn.openConnection(mContext, “cmnet”, “”, “”); 

}

}

13:PreferenceActivity 用法

public class Setting extends PreferenceActivity{

 public void onCreate(Bundle savedInstanceState) { 

 super.onCreate(savedInstanceState);

 addPreferencesFromResource(R.xml.settings);

 }

}

Setting.xml:

android:key=”seting2″ 

android:title=”@string/seting2″ 

android:summary=”@string/seting2″/> 

android:key=”seting1″ 

android:title=”@string/seting1″ 

android:summaryOff=”@string/seting1summaryOff” 

android:summaryOn=”@stringseting1summaryOff”/>

14:通过 HttpClient从指定server获取数据

 DefaultHttpClient httpClient = new DefaultHttpClient(); 

HttpGet method = new HttpGet(“http://www.baidu.com/1.html”); 

HttpResponse resp; 

Reader reader = null; 

try { 

// AllClientPNames.TIMEOUT 

HttpParams params = new BasicHttpParams(); 

params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000); 

httpClient.setParams(params);

resp = httpClient.execute(method); 

int status = resp.getStatusLine().getStatusCode(); 

if (status != HttpStatus.SC_OK)

 return false;

 // HttpStatus.SC_OK;

 return true;

 } catch (ClientProtocolException e) { 

// TODO Auto-generated catch block 

e.printStackTrace(); 

} catch (IOException e) { 

// TODO Auto-generated catch block e.printStackTrace();

 } finally { 

if (reader != null) 

try {

 reader.close(); 

} catch (IOException e) { 

// TODO Auto-generated 

catch block e.printStackTrace();

 } 

}
作者:jason0539 发表于2013-8-7 23:05:25 原文链接
阅读:91 评论:0 查看评论

相关 [android 源码 初学者] 推荐:

14个简单有用的android源码,适合初学者

- - CSDN博客移动开发推荐文章
1:查看是否有存储卡插入. 2:让某个Activity透明. 在OnCreate 中不设Layout,然后this.setTheme(R.style.Theme_Transparent);. DisplayMetrics dm = new DisplayMetrics(); //获取窗口属性 getWindowManager().getDefaultDisplay().getMetrics(dm);.

Android 2.2 (Froyo) 源码已经公布

- 文刀刘 - cnBeta.COM
为了庆祝Verizon Droid X的发布,Google公布了最新版Android 2.2 (Froyo) 源码,这套代码最早在5月份被披露,并试验性地运行在Nexus One上. 2.2版带来了提升后的性能,更快的浏览器,云到设备的消息传递和改进后的Android Market,并对微软Exchange提供了良好支持,目前共有60种Android设备可升级到该版本,以下是来自开发者博客的内容.

Android: 在WebView中获取网页源码

- - ITeye博客
 使能javascript:. 编写自己的WebViewClient,并在onPageFinished中提取网页源码. 运行,可以看到在showSource(String html)中打印了网页源码. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Android源码下载以及编译自己的ROM

- UnderSn0w - 博客园-首页原创精华区
最近发现kernel.org被墙了,为什么这种网站也能被墙了. 要想下载源码的话,只能绕过去了. 下面是我从网上搜索到的一些下载方法;. kernel.org无法访问导致android的源码无法下载,这是另外一个git服务器的android源码的repo文件. $ curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ./repo //获取repo.

【Android】播放视频的简易播放器源码

- - CSDN博客推荐文章
一,MainActivity.java源码. if(!checkSDCard()) //如果没有SD卡. mSurfaceView01 = (SurfaceView) findViewById(R.id.mSurfaceView1); //显示动画用的容器. 三,源码中所需其余图片等 ,自备就可以.

Rexsee API介绍:基站定位功能,Android CellLocation源码

- - ITeye博客
先提示一点,不能使用用模拟器研究Android的基站定位:基站信息是来自运营商的,仿真器只能模拟网络延迟(-netdelay)、网速(-netspeed)、以及一些电话相关的操作,gsm . 一段基于Rexsee( http://www.rexsee.com/ )的基本示例demo,其中cid 和 lac 为经纬度.

android WebView详解,常见漏洞详解和安全源码

- - CSDN博客推荐文章
  这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析.   转载请注明出处: http://blog.csdn.net/self_study/article/details/54928371.   对技术感兴趣的同鞋加群 544645972 一起交流.

Android实战开发系列教程--Andorid源码工作室提供

- Bloger - 博客园-首页原创精华区
   Android实战开发系列教程--由Android源码工作室提供.             各个章节具体内容,在本博客中后续会一一加入,请关注博客动态.      Android工作室简介:.         Android源码工作室,由一批具有丰富实战项目经验的技术团队创建,旨在为想迅速学习Android开发,提高Android开发技术等开发人员或感兴趣的爱好者提供最新,最详细,最实用的实战源码,从而尽可能快的掌握Android开发.

寄编程初学者

- tackwell - 笨兔兔
看到这篇文章,仔细读后,虽然我平日接触编程很少,可这些容易犯的毛病不仅是初来乍到的程序猿们,人生何尝不是这样呢. 目前,笨兔兔限于Linux桌面应用层级,接下来打算学习下编程,不求成为多么优秀的程序猿,只希望能从中得到快乐和思维的态度. 多少次我曾好奇到底有多少程序语言要学. 初学者谨记:编程如作诗,什么语言不重要.

基于 Android NDK 的学习之旅-----数据传输一(基本数据类型和数组传输)(附源码)

- UnderSn0w - 博客园-首页原创精华区
基于 Android NDK 的学习之旅-----数据传输(基本数据类型和数组传输).        之前的一些文章都有涉及到上层和中间层的数据传输,简单来说,也就是参数和返回值的使用. 因为中间层要做的最多的也就是数据传输与转换,下面来介绍下这方面的知识.        数据传输可分为 基本数据类型传输 和 引用数据类型的传输 , 因为数组传输也比较特别(其实数组也是引用类型),所以这里也专门分出来讲讲.