ANDROID代码实现APK文件的安装与卸载

http://www.cnblogs.com/Greenwood/archive/2011/03/09/1979268.html



Android程序使用代码的安装和卸载!!!


安装:


String str = "/CanavaCancel.apk";


String fileName = Environment.getExternalStorageDirectory() + str;


Intent intent = new Intent(Intent.ACTION_VIEW);


 intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");


startActivity(intent);


卸载:



Uri packageURI = Uri.parse("package:com.demo.CanavaCancel");


Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);


startActivity(uninstallIntent);



Environment拥有一些可以获取环境变量的方法


package:com.demo.CanavaCancel 这个形式是 package:程序完整的路径 (包名+程序名).







//下载apk程序代码
protected File downLoadFile(String httpUrl) {
// TODO Auto-generated method stub
final String fileName = "updata.apk";
File tmpFile = new File("/sdcard/update");
if (!tmpFile.exists()) {
tmpFile.mkdir();
}
final File file = new File("/sdcard/update/" + fileName);

try {
URL url = new URL(httpUrl);
try {
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
InputStream is = conn.getInputStream();
FileOutputStream fos = new FileOutputStream(file);
byte[] buf = new byte[256];
conn.connect();
double count = 0;
if (conn.getResponseCode() >= 400) {
Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT)
.show();
} else {
while (count <= 100) {
if (is != null) {
int numRead = is.read(buf);
if (numRead <= 0) {
break;
} else {
fos.write(buf, 0, numRead);
}

} else {
break;
}

}
}

conn.disconnect();
fos.close();
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block

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

e.printStackTrace();
}

return file;
}
//打开APK程序代码

private void openFile(File file) {
// TODO Auto-generated method stub
Log.e("OpenFile", file.getName());
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
startActivity(intent);
}

VS2012快捷键(转)

注释::VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C),实际操作,按住Ctrl键不放,先按K键,再按C键。相当于Ctrl+K加 Ctrl+C的组合键


反註解:VS2010是(Ctrl+E,U),VS2012是(Ctrl+K, Ctrl+U)


Ctrl+E,D ----格式化全部代码 Ctrl+A+K+F


Ctrl+E,F ----格式化选中的代码 Ctrl+K+F


CTRL + SHIFT + B生成解决方案 Alt+B+B 或 F6


生成当前项目 Alt+B+U 或 Shift+F6


CTRL + O 打开文件


CTRL + SHIFT + O打开项目


CTRL + SHIFT + C显示类视图窗口


F4 显示属性窗口


SHIFT + F4显示项目属性窗口


CTRL + SHIFT + E显示资源视图


F12 转到定义


CTRL + F12转到声明


CTRL + ALT + J对象浏览


CTRL + ALT + F1帮助目录


CTRL + F1 动态帮助


F1 帮助


SHIFT + F1当前窗口帮助


CTRL + ALT + F3帮助-搜索


SHIFT + ALT + ENTER全屏显示


CTRL + -向后定位


CTRL + SHIFT + -向前定位


CTRL + F4关闭文档窗口


CTRL + PAGE DOWN光标定位到窗口上方


CTRL + PAGE UP光标定位到窗口下方


CTRL + F6 下一个文档窗口(不带提示,快速却换)


CTRL + TAB下一个文档窗口


CTRL + SHIFT + F6


CTRL + SHIFT + TAB上一个文档窗口


ALT + F6下一个面板窗口


CTRL + K, C 或 CTRL+E+C注释选择的代码


CTRL + K, L 或 CTRL + K,U取消对选择代码的注释


CTRL + M, O折叠代码定义


CTRL + M, L展开代码定义


CTRL + DELETE删除至词尾


CTRL + BACKSPACE删除至词头


SHIFT + TAB取消制表符


CTRL + U转小写


CTRL + SHIFT + U转大写


CTRL + SHIFT + END选择至文档末尾


CTRL + SHIFT + HOME选择至文档末尾开始


SHIFT + END选择至行尾


SHIFT + HOME选择至行开始处


SHIFT + ALT + END垂直选择到最后尾


SHIFT + ALT + HOME垂直选择到最前面


CTRL + SHIFT + PAGE UP选择至本页前面


CTRL + SHIFT + PAGE DOWN选择至本页后面


CTRL + END文档定位到最后


CTRL + HOME文档定位到最前


CTRL + A全选


CTRL + W选择当前单词



CTRL + G转到行…


CTRL + K, CTRL + P上一个标签


CTRL + K, CTRL + N下一个标签


F5,F10,F11,ALT+D+S 调试


ALT+D+E 或Shift+F5 停止调试


CTRL + SHIFT + F5调试-重新开始调试


CTRL + SHIFT + F9 取消所有断点


CTRL + F9允许中断


CTRL + F5运行不调试


F10跨过程序执行


F11单步逐句执行


CTRL + J列出成员(这个对象的同类型对象)


CTRL + PAGE DOWN下一个视图


CTRL + B格式-粗体


CTRL + SHIFT + T格式-文字缩进


Ctrl+F10: 运行到光标处


F7: 查看代码


Shift+F7: 查看窗体设计器


F9: 切换断点


Ctrl+F9: 启用/停止断点


Ctrl+Shift+F9: 删除全部断点


编辑快捷键


Ctrl+B,T / Ctrl+K,K: 切换书签开关


Ctrl+B,N / Ctrl+K,N: 移动到下一书签


Ctrl+B,P: 移动到上一书签


Ctrl+B,C: 清除全部标签


Ctrl+I: 渐进式搜索


Ctrl+Shift+I: 反向渐进式搜索


Ctrl+F: 查找


Ctrl+Shift+F: 在文件中查找 (这个好,dw就有查找文件夹功能)


F3: 查找下一个


Shift+F3: 查找上一个


Ctrl+H: 替换


Ctrl+Shift+H: 在文件中替换


Alt+F12: 查找符号(列出所有查找结果)


Ctrl+Shift+V: 剪贴板循环


Ctrl+左右箭头键: 一次可以移动一个单词


Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。


Ctrl+Shift+L: 删除当前行


Shift+Alt+箭头键: 选择矩形文本


Alt+鼠标左按钮: 选择矩形文本


Ctrl+K,M: 生成方法存根


Ctrl+K,X: 插入代码段


Ctrl+K,S: 插入外侧代码


窗口快捷键


Ctrl+W,W: 浏览器窗口


Ctrl+W,S: 解决方案管理器


Ctrl+W,C: 类视图


Ctrl+W,E: 错误列表


Ctrl+W,O: 输出视图


Ctrl+W,P: 属性窗口


Ctrl+W,T: 任务列表


Ctrl+W,X: 工具箱


Ctrl+W,B: 书签窗口


Ctrl+W,U: 文档大纲


Ctrl+D,B: 断点窗口


Ctrl+D,I: 即时窗口


Ctrl+Tab: 活动窗体切换


Ctrl+Shift+N: 新建项目


Ctrl+Shift+O: 打开项目


Ctrl+Shift+S: 全部保存


Shift+Alt+C: 新建类


Ctrl+Shift+A: 新建项


VS2005的隐藏快捷键




1、Ctrl+Space直接完成类或函数(本来这个并不算隐藏的快捷键,但是因为中文输入法抢占这个快捷键,所以。。。,替代的快捷键是Alt+Right)


2、Shift+Delete整行删除,并且将这一行放到剪贴板(这时候不能选中一段内容)


3、Shift+Insert粘贴,有点匪夷所思,Ctrl+V就可以了,大概是为了和Shift+Delete对应吧


4、Ctrl+Up,Ctrl+Down滚动编辑器,但尽量不移动光标,光标保证在可见范围内


5、Ctrl+BackSpace,Ctrl+Delete整词删除,有的时候很有用


6、Ctrl+Left,Ctrl+Right按整词移动光标(不算隐藏,和前面几条加起来就是Ctrl光标控制套件了)


7、Alt+Shift+F10打开执行改名,实现接口和抽象类的小窗口(还可以用Ctrl+.,不过有的中文输入法用到这个)


8、Shift+F9调试是打开QuickWatch,内容是当前光标所在处的内容


9、F12转跳到定义,很有用的快捷键


10、Shift+F12查找所有引用


---------------------------------------VS2008快捷键大全----------------------------


Ctrl+m+Crtr+o折叠所有大纲


Ctrl+M+Crtr+P: 停止大纲显示


Ctrl+K+Crtr+C: 注释选定内容


Ctrl+K+Crtr+U: 取消选定注释内容


Ctrl+J : 列出成员智能感知


Shift+Alt+Enter: 切换全屏编辑


Ctrl+B,T / Ctrl+K,K: 切换书签开关


Ctrl+B,N / Ctrl+K,N: 移动到下一书签


Ctrl+B,P: 移动到上一书签


Ctrl+B,C: 清除全部标签


Ctrl+I: 渐进式搜索


Ctrl+Shift+I: 反向渐进式搜索


Ctrl+F: 查找


Ctrl+Shift+F: 在文件中查找


F3: 查找下一个


Shift+F3: 查找上一个


Ctrl+H: 替换


Ctrl+Shift+H: 在文件中替换


Alt+F12: 查找符号(列出所有查找结果)


Ctrl+Shift+V: 剪贴板循环


Ctrl+左右箭头键: 一次可以移动一个单词


Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。


Ctrl+Shift+L: 删除当前行


Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态


Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态


Ctrl+E,S: 查看空白


Ctrl+E,W: 自动换行


Ctrl+G: 转到指定行


Shift+Alt+箭头键: 选择矩形文本


Alt+鼠标左按钮: 选择矩形文本


Ctrl+Shift+U: 全部变为大写


Ctrl+U: 全部变为小写


代码快捷键


Ctrl+Shift+空格键 / Ctrl+K,P: 参数信息


Ctrl+K,I: 快速信息


Ctrl+E,U / Ctrl+K,U: 取消选定注释内容


Ctrl+K,M: 生成方法存根


Ctrl+K,X: 插入代码段


Ctrl+K,S: 插入外侧代码


F12: 转到所调用过程或变量的定义


窗口快捷键


Ctrl+W,W: 浏览器窗口


Ctrl+W,S: 解决方案管理器


Ctrl+W,C: 类视图


Ctrl+W,E: 错误列表


Ctrl+W,O: 输出视图


trl+W,P: 属性窗口


Ctrl+W,T: 任务列表


Ctrl+W,X: 工具箱


Ctrl+W,B: 书签窗口


Ctrl+W,U: 文档大纲


Ctrl+D,B: 断点窗口


Ctrl+D,I: 即时窗口


Ctrl+Tab: 活动窗体切换


Ctrl+Shift+N: 新建项目


Ctrl+Shift+O: 打开项目


Ctrl+Shift+S: 全部保存


Shift+Alt+C: 新建类


Ctrl+Shift+A: 新建项


Shift+Alt+Enter: 切换全屏编辑


Ctrl+B,T / Ctrl+K,K: 切换书签开关


Ctrl+B,N / Ctrl+K,N: 移动到下一书签


Ctrl+B,P: 移动到上一书签


Ctrl+B,C: 清除全部标签


Ctrl+I: 渐进式搜索


Ctrl+Shift+I: 反向渐进式搜索


Ctrl+F: 查找


Ctrl+Shift+F: 在文件中查找


F3: 查找下一个


Shift+F3: 查找上一个


Ctrl+H: 替换


Ctrl+Shift+H: 在文件中替换


Alt+F12: 查找符号(列出所有查找结果)


Ctrl+Shift+V: 剪贴板循环


Ctrl+左右箭头键: 一次可以移动一个单词


Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。


Ctrl+Shift+L: 删除当前行


Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态


Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态


Ctrl+M,P: 停止大纲显示


Ctrl+E,S: 查看空白


Ctrl+E,W: 自动换行


Ctrl+G: 转到指定行


Shift+Alt+箭头键: 选择矩形文本


Alt+鼠标左按钮: 选择矩形文本


Ctrl+Shift+U: 全部变为大写


Ctrl+U: 全部变为小写