当前位置: 编程技术>移动开发
本页文章导读:
▪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 修改页面的显示
修改页面:
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见附件
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见附件
最新技术文章: