个人Android学习demo集

来源:互联网 发布:网络安全工程师pdf 编辑:程序博客网 时间:2024/05/21 17:12

      接触Android有一年了,突然发现自己掌握的东西很散乱,最近有时间找了本书(<第一行代码>挺不错的一本书)好好系统的清理了下思路,把重点基础的案列自己弄了下,感觉挺不错的。这些案列对于新手来说是很有帮助的,希望大家共同学习,一起成长。

     下面来看下demo中包含的案列吧,逻辑都已经写好,第一张为主页面:

第二张是对本地数据库sqlite的一些基本操作:


下面这个是为了测试sharedPreferences实现记住密码功能:


这张是多媒体部分的一些操作,是一些很基础的demo,多媒体涉及的东西其实还非常多:


广播机制,静态的在Manifest里面注册reciver:


下面是多线程和服务相关的内容,Android的多线程和java的多线程在实现上是有区别的:


fragment案例,子fragment需要引入v4包,不然会报inflate错误:


读取系统联系人:


      源代码中注释齐全,便于学习,下面给出选择相册的源码类:

package com.yy.testdemo;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import com.yy.util.LogUtil;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;/** * 拍照和相册选取图片 * @author Administrator * */public class Photo extends Activity{   private static final String TAG="Photo";   private static final int TAKE_PHOTO=1;   private static final int CROP_PHOTO=2;   private Button takePhoto;   private Button pickPhoto;   private ImageView picture;   private Uri imageUri;   @Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.photo);//拍照获取图片:新建图片储存地址---打开相机程序---回传到onActivityResult-打开裁剪程序---回传到onActivityResult---//用Bitmap进行显示takePhoto=(Button)findViewById(R.id.take_photo);picture=(ImageView)findViewById(R.id.pic);takePhoto.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//创建文件对象,储存拍照后的图片,第一个参数为手机SD卡得根目录File outImageFile=new File(Environment.getExternalStorageDirectory(),"Image.jpg");if(outImageFile.exists()){outImageFile.delete();}try {outImageFile.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}//生成图片对象的唯一URI地址imageUri=Uri.fromFile(outImageFile);Intent intent=new Intent("android.media.action.IMAGE_CAPTURE");//获得输出地址intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);startActivityForResult(intent,TAKE_PHOTO);  //启动相机}});//相册选取pickPhoto=(Button)findViewById(R.id.pick_photo);pickPhoto.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {        Intent intent=new Intent();        intent.setType("image/*");        intent.setAction(Intent.ACTION_GET_CONTENT);startActivityForResult(intent,CROP_PHOTO);  //采用了裁剪的逻辑回传}});}/** * 回传数据处理 */@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (requestCode) {case TAKE_PHOTO:    //相机回传if(resultCode==RESULT_OK){Intent intent=new Intent("com.android.camera.action.CROP");intent.setDataAndType(imageUri, "image/*");                  //裁剪的数据和类型intent.putExtra("scale", true);  //允许缩放intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);startActivityForResult(intent, CROP_PHOTO);     //启动裁剪}break;case CROP_PHOTO:    //裁剪回传if(resultCode==RESULT_OK){try{imageUri=data.getData();   //获取地址LogUtil.i(TAG, ""+imageUri);//通过流文件来实现Bitmap bitmap=BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));//显示图片picture.setImageBitmap(bitmap);}catch(FileNotFoundException e){e.printStackTrace();}}break;default:break;}}}

      还差网络方面的内容,目前正在完善中。。。。

最后,给出工程源码下载地址:

demo下载 点击打开链接

0 0