当前位置:  编程技术>移动开发
本页文章导读:
    ▪Struts2 批改页面        Struts2 修改页面 Struts2 修改页面的显示 Student 实体类: private Student stu; // 转到修页面 public String toUpdate() { stu = service.findById(stu.getId()); return "update"; } 修改页面: <%@ page language="jav.........
    ▪ 容易录音器        简单录音器 public class AudioListView extends ListActivity { private Button play_btn;// 播放 private Button record_btn;// 录音 private Button pause_btn;// 暂停 private Button del_btn;// 删除 private Button back_btn;// 返回 privat.........
    ▪ Nexus one开关键坏掉后的解决办法       Nexus one开关键坏掉后的解决方法 Nexus one手机无法开机了,网上搜索了一下发现很多人遇到这个问题,是开关键的排线坏了。这部手机自从买来,CPU过热重启换过CPU,现在开关键也坏掉了,.........

[1]Struts2 批改页面
    来源: 互联网  发布时间: 2014-02-18
Struts2 修改页面
Struts2 修改页面的显示
Student 实体类:

private Student stu;

	// 转到修页面
	public String toUpdate() {
		stu = service.findById(stu.getId());
		return "update";
	}




修改页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="/blog_article/<%=basePath%>/index.html">
    <title>学生信息修改</title>
    <link rel="stylesheet" type="text/css" href="/blog_article/${pageContext.request.contextPath}/css/style.css">
	<script type="text/javascript" src="/blog_article/<%=path%>/js/jquery-1.4.2.min.js"></script>
	<script type="text/javascript" src="/blog_article/<%=path%>/js/jquery.validate_pack.js"></script>
	<script type="text/javascript" src="/blog_article/<%=path%>/js/student.js"></script>
  </head>
  
  <body >
   <form action="/blog_article/<%=request.getContextPath()%>/student_update.action" id="studentUpdateForm"
			method="post">
            <input type="hidden" name="stu.id" value="<s:property value='stu.id'/>"/>
             <input type="hidden" name="currentPage" value="<s:property value='currentPage'/>"/>
                                学生信息修改
			<p>
				<label >
					姓名:
				</label>
				<input type="text" id="name" 
				value="<s:property value='stu.name'/>"
					name="stu.name" />
					<input type="hidden"
				value="<s:property value='stu.name'/>"
					id="stuname" />
				<span id="namespan"></span>
			</p>

			<p>
				<label >
					年龄:
				</label>
				<input type="text" id="chooseone" 
				value="<s:property value='stu.age'/>"
					name="stu.age" />
				<span id="agespan"></span>
			</p>

			<p>
				<label >
					性别:
				</label>
				<input type="text" id="choosetwo"  name="stu.sex" value="<s:property value='stu.sex'/>" />
				<span id="sexspan"></span>
			</p>

			<p>
				<label >
					地址:
				</label>
				<input type="text" id="choosethree"   value="<s:property value='stu.address'/>"
					name="stu.address" />
				<span id="addressspan"></span>
			</p>
			<center>
				<input type="submit" 
					id="send" value="提交" />
					<input type="button" value="返回" onclick="javascript:window.location.href='/blog_article/<%=path%>/student_query/currentPage/lt;s_property value/.action'currentPage'/>'"/>
			</center>
		</form>
  </body>
</html>



    
[2] 容易录音器
    来源: 互联网  发布时间: 2014-02-18
简单录音器
public class AudioListView extends ListActivity {
	private Button play_btn;// 播放
	private Button record_btn;// 录音
	private Button pause_btn;// 暂停
	private Button del_btn;// 删除
	private Button back_btn;// 返回

	private TextView list_id_txt;

	private File mRecAudioFile;/* 录制的音频文件 */
	private File mRecAudioPath;
	String SDPATH = null;

	private MediaRecorder mMediaRecorder;/* MediaRecorder对象 */
	private List<String> mMusicList = new ArrayList<String>();/* 录音文件列表 */
	private String strTempFile = "";/* 零时文件的前缀 */
	private int filePosition = 0;// 文件ID

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		setTitle("我的录音器");
		setTitleColor(Color.YELLOW);
		/* 检测是否存在SD卡 */
		if (Environment.getExternalStorageState().equals(
				android.os.Environment.MEDIA_MOUNTED)) {
			SDPATH = Environment.getExternalStorageDirectory() + "/";
			if (isDirExist("Audio")) {
				System.out.println("Dir Audio is Exist!");
				String s = Environment.getExternalStorageDirectory() + "/Audio";
				File f = new File(s);
				System.out.println(f);
				mRecAudioPath = f;
			} else {
				File s = createSDDir("Audio");
				System.out.println(s);
				File f = new File(Environment.getExternalStorageDirectory()
						+ "/Audio");
				System.out.println(f);
				mRecAudioPath = f;
			}
			musicList();/* 更新所有录音文件到List中,这边的方法只被执行一次 */
		} else {
			Toast.makeText(AudioListView.this, "没有SD卡!", Toast.LENGTH_LONG)
					.show();
		}
		findView();
		setListener();
	}

	// 在SD卡上创建目录
	public File createSDDir(String dirName) {
		File dir = new File(SDPATH + dirName);
		dir.mkdir();
		return dir;
	}

	// 判断SD卡上的目录是否存在
	public boolean isDirExist(String fileName) {
		File file = new File(SDPATH + fileName);
		return file.exists();
	}

	@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		clearList();
		musicList();/* 更新所有录音文件到List中 */
	}

	@Override
	protected void onPostResume() {
		// TODO Auto-generated method stub
		super.onPostResume();
		clearList();
		musicList();/* 更新所有录音文件到List中 */
	}

	/**
	 * 控件实例化
	 */
	private void findView() {
		// TODO Auto-generated method stub
		play_btn = find(play_btn, R.id.play_btn);
		record_btn = find(record_btn, R.id.record_btn);
		pause_btn = find(pause_btn, R.id.pause_btn);
		del_btn = find(del_btn, R.id.del_btn);
		back_btn = find(back_btn, R.id.back_btn);
		list_id_txt = (TextView) findViewById(R.id.list_id_txt);
	}

	/**
	 * Button实例化方法
	 */
	public Button find(Button button, int id) {
		button = (Button) findViewById(id);
		return button;
	}

	/**
	 * 注册监听事件
	 */
	private void setListener() {
		// TODO Auto-generated method stub
		play_btn.setOnClickListener(new PlayOnClickListener());
		record_btn.setOnClickListener(new RecordOnClickListener());
		pause_btn.setOnClickListener(new PauseOnClickListener());
		del_btn.setOnClickListener(new DelOnClickListener());
		back_btn.setOnClickListener(new BackOnClickListener());
	}

	/**
	 * 播放按钮的监听事件
	 */
	class PlayOnClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			// play_btn.setBackgroundResource(R.drawable.recordplaydisable);
			playMusic(getFile(filePosition));
		}

	}

	/**
	 * 录音按钮的监听事件
	 */
	class RecordOnClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {

			pause_btn.setClickable(true);
			// TODO Auto-generated method stub
			try {

				strTempFile = new Universal().getTimeStr() + "_";// 获取时间
				mRecAudioFile = File.createTempFile(strTempFile, ".amr",
						mRecAudioPath);/* 创建录音文件 */

				mMediaRecorder = new MediaRecorder();/* 实例化MediaRecorder对象 */
				mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);/* 设置麦克风 */
				mMediaRecorder
						.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);/* 设置输出文件的格式 */
				mMediaRecorder
						.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);/* 设置音频文件的编码 */
				mMediaRecorder.setOutputFile(mRecAudioFile.getAbsolutePath());/* 设置输出文件的路径 */
				mMediaRecorder.prepare();/* 准备 */
				mMediaRecorder.start();/* 开始 */
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	}

	/**
	 * 停止按钮的监听事件
	 */
	class PauseOnClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			if (mRecAudioFile != null) {
				mMediaRecorder.stop();/* 停止录音 */
				mMusicList.add(mRecAudioFile.getName());/* 将录音文件添加到List中 */
				ArrayAdapter<String> musicList = new ArrayAdapter<String>(
						AudioListView.this, R.layout.listaudio, mMusicList);
				setListAdapter(musicList);
				mMediaRecorder.release();/* 释放MediaRecorder */
				mMediaRecorder = null;
			}
			pause_btn.setClickable(false);
		}
	}

	/**
	 * 删除按钮的监听事件
	 */
	class DelOnClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			String s = list_id_txt.getText().toString();
			if (s.equals("")) {
				// 请选择一条要删除的记录!,否则点击删除按钮无效
			} else {
				new AlertDialog.Builder(AudioListView.this).setMessage(
						"确定要删除吗?").setPositiveButton("是",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,
									int which) {
								File file = new File(mRecAudioPath
										.getAbsolutePath()
										+ File.separator
										+ mMusicList.get(filePosition));
								file.delete();
								clearList();// 先清空原数据
								musicList();// 重新读取数据
								list_id_txt.setText("");
								Toast.makeText(AudioListView.this, "删除成功!",
										Toast.LENGTH_LONG).show();
							}
						}).setNegativeButton("否",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,
									int which) {
								// finish();
							}
						}).show();
			}
		}
	}

	/**
	 * 返回按钮的监听事件
	 */
	class BackOnClickListener implements OnClickListener {

		@Override
		public void onClick(View v) {
			/**
			 * 传递整个文件的路径
			 */
			String s = Environment.getExternalStorageDirectory() + "/Audio/"
					+ list_id_txt.getText().toString();
			System.out.println("录音文件路径:" + s);
			AudioListView.this.finish();
		}

	}

	/**
	 * 播放录音
	 */
	private void playMusic(File file) {
		Intent intent = new Intent();
		intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		intent.setAction(android.content.Intent.ACTION_VIEW);
		intent.setDataAndType(Uri.fromFile(file), "audio");/* 设置文件类型 */
		startActivity(intent);
	}

	/**
	 * 根据位置获取文件
	 * 
	 * @param position
	 */
	public File getFile(int position) {
		File playfile = new File(mRecAudioPath.getAbsolutePath()
				+ File.separator + mMusicList.get(position));
		return playfile;
	}

	/**
	 * 列表项监听事件
	 */
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// /* 得到被点击的文件 */
		File playfile = new File(mRecAudioPath.getAbsolutePath()
				+ File.separator + mMusicList.get(position));
		list_id_txt.setText(playfile.getName());// 设置示当前文件名
		// playMusic(playfile);/* 播放 */
		filePosition = position;
	}

	/**
	 * 添加播放列表
	 */
	public void musicList() {
		// 取得指定位置的文件设置显示到播放列表
		File home = mRecAudioPath;
		if (home.listFiles(new MusicFilter()).length > 0) {
			for (File file : home.listFiles(new MusicFilter())) {
				mMusicList.add(file.getName());
			}
			ArrayAdapter<String> musicList = new ArrayAdapter<String>(
					AudioListView.this, R.layout.listaudio, mMusicList);
			setListAdapter(musicList);
		}
	}

	// 先清空ListView原来的数据
	public void clearList() {
		mMusicList.clear();
		ArrayAdapter<String> musicList = new ArrayAdapter<String>(
				AudioListView.this, R.layout.listaudio, mMusicList);
		setListAdapter(musicList);
	}

	/* 过滤文件类型 */
	class MusicFilter implements FilenameFilter {
		public boolean accept(File dir, String name) {
			return (name.endsWith(".amr"));
		}
	}
}

 


    
[3] Nexus one开关键坏掉后的解决办法
    来源: 互联网  发布时间: 2014-02-18
Nexus one开关键坏掉后的解决方法
Nexus one手机无法开机了,网上搜索了一下发现很多人遇到这个问题,是开关键的排线坏了。
这部手机自从买来,CPU过热重启换过CPU,现在开关键也坏掉了,还真是悲剧的问题都遇到了,因为水货只能自己掏腰包去修,修的钱都够买个新的了,这次懒得去修了,网上有人给出了解决方法:
http://bbs.hiapk.com/thread-324836-1-1.html
充电的时候反复插拔电池能够开机,经过试验就是插上充电线,然后拔下电池,插上电池,一次不行就多插拔几次,终于能开机了,桌面装了个Lock 插件,这样没有开关键也能对付着用了,
以后再也不买火腿肠(HTC)的手机了。当然开机是刷了CM,用轨迹球来开。

另外参考:
http://www.androidtablets.net/forum/sylvania-tablets/7368-working-power-button.html
把search按键映射成power按键。apk见附件

    
最新技术文章:
▪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