当前位置:  编程技术>移动开发
本页文章导读:
    ▪源码事例        源码例子     (补ant包)文件管理器源码,文件拖曳,listView弹性,root ,zip压缩/解 [Android实例] [分享]Android四种播放器源码!     Android-opencv之CVCamera ......
    ▪ 第三章:手机的IO操作(剔除,改名字,打开)        第三章:手机的IO操作(删除,改名字,打开) 效果:main.xml <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" android:backgr.........
    ▪ 怎么设置3g网络-APN设置       如何设置3g网络-APN设置 一般用android系统的时候,我们使用wifi上网,但有时候我们也可以用3g上网,这里就需要设置一下3G接入点。具体设置主要是通过改变数据库数据来连接3g网络。 这里涉.........

[1]源码事例
    来源: 互联网  发布时间: 2014-02-18
源码例子

 

 

(补ant包)文件管理器源码,文件拖曳,listView弹性,root ,zip压缩/解
[Android实例] [分享]Android四种播放器源码!

 

 

Android-opencv之CVCamera

    
[2] 第三章:手机的IO操作(剔除,改名字,打开)
    来源: 互联网  发布时间: 2014-02-18
第三章:手机的IO操作(删除,改名字,打开)
效果:






main.xml


<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="2px"
android:layout_y="6px"
>
</TextView>

<ListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ListView>

</AbsoluteLayout>














file_row.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ImageView>
<TextView
android:id="@+id/text"
android:layout_width="220px"
android:layout_height="wrap_content"
>
</TextView>

</LinearLayout>













alert_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<EditText
android:id="@+id/editText"
android:layout_width="138px"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_x="79px"
android:layout_y="116px"
>
</EditText>


</AbsoluteLayout>




package i.o.explorer.test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

public class IOExplorerTest extends ListActivity {
	/**
	 * Items 存放显示的名称
	 * paths 存放文件路径
	 * rootPath 起始目录
	 * */
	private List<String> items=null;
	private List<String> paths=null;
    private String rootPaths="/";
    private TextView mPath;
    private View view;
    private EditText myEditText;
	
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /** 载入main.xml*/
        setContentView(R.layout.main);
        /** 通过id找到TextView组件*/
        mPath=(TextView)findViewById(R.id.text);
        getFileDir(rootPaths);
    }
    /** 取得文件的方法*/
    private void getFileDir(String filePath){
    	/** 设置目前的目录*/
    	mPath.setText(filePath);
    	items=new ArrayList<String>();
    	paths=new ArrayList<String>();
    	File f=new File(filePath);
    	File[] files=f.listFiles();
    	if(!filePath.equals(rootPaths)){
    		/** 回到根目录*/
    		items.add("b1");
    		paths.add(rootPaths);
    		/** 回到上一层*/
    		items.add("b2");
    		paths.add(f.getParent());
    	}
    	if(files!=null){
    		/** 将文件添加到list当中*/
    		for(int i=0;i<files.length;i++){
    			File file=files[i];
    			items.add(file.getName());
    			paths.add(file.getPath());
    		}
    	}
    	setListAdapter(new MyAdapter(this,items,paths));
    }
    /** 被单击时所做的动作*/
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
    	File file=new File(paths.get(position));
    	if(file.isDirectory()){
    		/** 如果是文件就调用取得文件的方法*/
    		getFileDir(paths.get(position));
    	}else{
    		/** 否则就运行文件*/
    		fileHandle(file);
    	}
    }
    /** 处理文件的方法*/
    private void fileHandle(final File file){
    	/** 单击文件是的点击事件*/
    	OnClickListener listener1=new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				if(which==0){
					/** 选择的item为打开的文件*/
					openFile(file);
				}else if(which==1){
					/** 为选择的文件改名*/
					LayoutInflater factory=LayoutInflater.from(IOExplorerTest.this);
					/** 初始化对象,使用alert_dialog布局*/
					view=factory.inflate(R.layout.alert_dialog, null);
					/** 通过view找到EditText组件*/
					myEditText=(EditText)view.findViewById(R.id.editText);
					/** 设置EditText内容为点击文件的文件名*/
					myEditText.setText(file.getName());
					/** 实例一个更改文件的Dialog的确定的按钮的点击事件*/
					OnClickListener listener2=new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							/**获得修改后的文件路径*/
							String modName=myEditText.getText().toString();
							final String pFile=file.getParentFile().getPath()+"/";
							final String newPath=pFile+modName;
							/**判断文件名是否已存在*/
							if(new File(newPath).exists()){
								/**判断文件没修改就发送的状况*/
								if(!modName.equals(file.getName())){
									/**设置 AlertDialog的标题,消息,和按钮的点击事件*/
									new AlertDialog.Builder(IOExplorerTest.this)
									.setTitle("注意")
									.setMessage("文件名已经存在!是否覆盖?")
									.setPositiveButton("确定", new DialogInterface.OnClickListener() {
										
										@Override
										public void onClick(DialogInterface dialog, int which) {
											/**覆盖已存在的文件夹*/
											file.renameTo(new File(newPath));
											/**重新获得文件列表*/
											getFileDir(pFile);
										}
									}).setPositiveButton("取消", new DialogInterface.OnClickListener() {
										
										@Override
										public void onClick(DialogInterface dialog, int which) {
											// TODO Auto-generated method stub
											
										}
									}).show();
								}
							}else{
								/**文件名不存在,直接修改文件名*/
								file.renameTo(new File(newPath));
								/**重新获得路径*/
								getFileDir(pFile);
							}
						}
					};
					/**设置弹出的AlertDialog*/
					AlertDialog renameDialog=new AlertDialog.Builder(IOExplorerTest.this).create();
					renameDialog.setView(view);
					/**设置删除的文件事件*/
					renameDialog.setButton("确定", listener2);
					renameDialog.setButton("取消", new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							
						}
					});
					renameDialog.show();
				}else{
					/**选择item为删除文件*/
					new AlertDialog.Builder(IOExplorerTest.this).setTitle("注意!")
					.setMessage("确定要删除文件吗?")
					.setPositiveButton("确定", new DialogInterface.OnClickListener() {
						
						@Override
						public void onClick(DialogInterface dialog, int which) {
							/**删除文件*/
							file.delete();
							getFileDir(file.getParent());
						}
					}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							
						}
					}).show();
					
				}
			}
		};
		/**在手机上打开文件的提示信息*/
    	String[] menu={"打开文件夹","更改文件名","删除文件"};
    	new AlertDialog.Builder(IOExplorerTest.this)
    	.setTitle("你要做什么?")
    	.setItems(menu, listener1)
    	.setPositiveButton("取消", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				
			}
		}).show();
    }
    /** 在手机上打开文件的方法*/
    private void openFile(File f){
		Intent intent=new Intent();
		intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		intent.setAction(android.content.Intent.ACTION_VIEW);
		/** 调用getMIMEType()的方法取得文件类型*/
		String type=getMIMEType(f);
		/** 设置intent的file与MimeType*/
		intent.setDataAndType(Uri.fromFile(f), type);
		startActivity(intent);
	}
    /** 判断文件类型的方法*/
    private String getMIMEType(File f){
    	String type="";
    	String fName=f.getName();
    	/** 取得扩展名*/
    	String end=fName.substring(fName.lastIndexOf(".")+1,fName.length()).toLowerCase();
    	
    	if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||end.equals("xmf")||end.equals("ogg")||end.equals("wav")){
    		type="audio";
    	}else if(end.equals("3gp")||end.equals("mp4")){
    		type="video";
    	}else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||end.equals("jpeg")||end.equals("bmp")){
    		type="image";
    	}else{
    		type="*";
    	}
    	type+="/*";
    	return type;
    }
}




package i.o.explorer.test;

import java.io.File;
import java.util.List;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class MyAdapter extends BaseAdapter {
	private LayoutInflater mInflater;
	/**
	 * mIcon1回到根目录的图片
	 * mIcon2回到上一级图片
	 * mIcon3文件夹图片
	 * mIcon4文件图片
	 * */
	private Bitmap mIcon1;
	private Bitmap mIcon2;
	private Bitmap mIcon3;
	private Bitmap mIcon4;
	private List<String> items;
	private List<String> paths;
	
	/**
	 * MyAdapter构造器传入三个参数
	 * */
	public MyAdapter(Context c,List<String> lt,List<String> pa){
		mInflater=LayoutInflater.from(c);
		items=lt;
		paths=pa;
		mIcon1=BitmapFactory.decodeResource(c.getResources(),R.drawable.folder);
		mIcon2=BitmapFactory.decodeResource(c.getResources(),R.drawable.folder);
		mIcon3=BitmapFactory.decodeResource(c.getResources(),R.drawable.folder2);
		mIcon4=BitmapFactory.decodeResource(c.getResources(),R.drawable.text);
	}
	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return items.size();
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return items.get(position);
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolder holder;
		if(convertView==null){
			/**自定义layout作为loyout*/
			convertView=mInflater.inflate(R.layout.file_row, null);
			holder=new ViewHolder();
			holder.text=(TextView) convertView.findViewById(R.id.text);
			holder.icon=(ImageView) convertView.findViewById(R.id.icon);
			convertView.setTag(holder);
		}else{
			holder=(ViewHolder)convertView.getTag();
		}
		File f=new File(paths.get(position).toString());
		if(items.get(position).toString().equals("b1")){
			/**返回根目录*/
			holder.text.setText("Back to..");
			holder.icon.setImageBitmap(mIcon1);
		}else if(items.get(position).toString().equals("b2")){
			/**返回上一级*/
			holder.text.setText("Back to..");
			holder.icon.setImageBitmap(mIcon2);
		}else{
			holder.text.setText(f.getName());
			if(f.isDirectory()){
				/**设置文件或文件夹的图标*/
				holder.icon.setImageBitmap(mIcon3);
			}else{
				holder.icon.setImageBitmap(mIcon4);
			}
		}
		return convertView;
	}
	private class ViewHolder{
		TextView text;
		ImageView icon;
	}
}







    
[3] 怎么设置3g网络-APN设置
    来源: 互联网  发布时间: 2014-02-18
如何设置3g网络-APN设置

一般用android系统的时候,我们使用wifi上网,但有时候我们也可以用3g上网,这里就需要设置一下3G接入点。具体设置主要是通过改变数据库数据来连接3g网络。

这里涉及到两个URI,分别是apn列表uri:content://telephony/carriers,主apn的uri:content://telephony/carriers/preferapn,

首先,向apn列表中插入一行,需要的属性有name、apn和numeric。numeric要看不同的系统设置,我遇过的有的是46001,还有的是别的,没记得太清楚。然后根据插入的id,把该行设置为主apn的行。这样settings里面就会自动去读取。具体实现如下:

	public void setApn(View v) {
		final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
		if (adapter.isEnabled()) {
			adapter.disable();
		} else {
			setMainAPN(getAPNId());
		}
	}
private int getAPNId() {
		int id = -1;
		ContentValues values = new ContentValues();
		values.put("name", "suking");
		values.put("apn", "3gnet");
		values.put("numeric", "46001");
		ContentResolver resolver = getContentResolver();

		Cursor c = null;
		Uri newRow = resolver.insert(APN_URI, values);
		if (newRow != null) {
			c = resolver.query(newRow, null, null, null, null);
			int idIndex = c.getColumnIndex("_id");
			c.moveToFirst();
			id = c.getShort(idIndex);
		}
		if (c != null) {
			c.close();
		}
		return id;
	}

	private void setMainAPN(int id) {
		ContentResolver resolver = getContentResolver();
		ContentValues values = new ContentValues();
		values.put("apn_id", id);
		resolver.update(MAIN_APN, values, null, null);

	}

 

注意到,在设置apn网络之前,首先是判断蓝牙适配器是否可用,如果可用需要把蓝牙关闭。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3