- 浏览: 26344 次
- 性别:
- 来自: 杭州
最新评论
操作SDcard 需要权限
//写入数据权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> //创建和删除文件权限 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
主界面
package com.example.loaddown; import java.io.File; import util.DownUtil; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; public class Activity08 extends Activity { EditText t1 ; EditText t2 ; Spinner sp ; Button b1 ; String name = null ; ArrayAdapter ad = null ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_activity08); t1 = (EditText) findViewById(R.id.t1); t2 = (EditText) findViewById(R.id.t2); b1 = (Button) findViewById(R.id.b1); b1.setText("下载"); sp = (Spinner) findViewById(R.id.spin); ad = ArrayAdapter.createFromResource(this, R.array.spin, android.R.layout.simple_spinner_item); ad.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sp.setPrompt("文件格式"); sp.setAdapter(ad); sp.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { name = ad.getItem(arg2).toString(); System.out.println(name); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }) ; b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String loadpath = t1.getText().toString(); String fileName = t2.getText().toString(); DownUtil down = new DownUtil(); File file = new File(Environment.getExternalStorageDirectory()+"/"+fileName+name); Intent intent = new Intent() ; if(file.exists()){ intent.putExtra("message", "文件已经存在"); } else{ down.loadTxt(fileName+name, loadpath); intent.putExtra("message", "下载完成"); } intent.setClass(Activity08.this, OverActivity.class); Activity08.this.startActivity(intent); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_activity08, menu); return true; } }
结果界面:
package com.example.loaddown; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class OverActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.over); TextView text = (TextView) findViewById(R.id.text1); Intent intent = getIntent(); String msg = intent.getStringExtra("message"); text.setText(msg); } }
工具类:
package util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import android.os.Environment; public class DownUtil { private URL url = null ; private HttpURLConnection con = null ; String filePath ; public File down(String fileName,String loadPath){ filePath = Environment.getExternalStorageDirectory()+"/"; System.out.println(filePath); File file = new File(filePath+fileName); try { url = new URL(loadPath); con = (HttpURLConnection) url.openConnection() ; InputStream in = con.getInputStream() ; BufferedInputStream bfin = new BufferedInputStream(in); BufferedOutputStream bfout = new BufferedOutputStream(new FileOutputStream(file)); int k = 0; byte b[] = new byte[4*1024]; while((k=bfin.read(b))!=-1){ bfout.write(b); } bfout.flush(); bfout.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return file; } public File loadTxt(String fileName,String loadPath){ filePath = Environment.getExternalStorageDirectory()+"/"; System.out.println(filePath); File file = new File(filePath+fileName); try { url = new URL(loadPath); con = (HttpURLConnection) url.openConnection() ; InputStream in = con.getInputStream() ; BufferedReader reader = new BufferedReader(new InputStreamReader(in)); BufferedWriter writer = new BufferedWriter(new FileWriter(file)); String s = null ; while ((s= reader.readLine())!=null){ writer.write(s); } writer.flush(); writer.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return file; } }
发表评论
-
android关于网络
2013-06-24 17:50 741/** * 检测当前网络状态是否可用 * ... -
android应用创建快捷方式
2013-06-24 17:49 942package com.sanghu.broadcast; ... -
Notification应用
2013-01-23 16:32 753package com.example.notificati ... -
android网络状态检查
2013-01-15 10:46 819ConnectivityManager manager ... -
显示所有应用程序列表,点击进入
2013-01-09 16:09 945package com.example.likeqq; ... -
Android home键和back键区别
2012-11-20 14:55 1034back键Android的程序无需刻意的去退出,当你一按下手机 ... -
LayoutInflater和inflate()方法的用法
2012-11-20 14:53 1031LayoutInflater作用是将layout的xml布局文 ... -
android打开文件
2012-11-02 11:36 645class OpenFiles { public st ... -
android 用户权限
2012-09-14 15:34 898From:http://blog.csdn.net/d ... -
android的用户定位---location使用
2012-09-14 14:52 1087四个步骤: 1.添加权限 2.获取locationMana ... -
wifi开启关闭
2012-09-11 22:36 1182wifi的5中状态 WIFI_STATE_DISABLED ... -
广播机制的2种注册方式
2012-09-11 11:04 888相信广播的概念我们都很熟悉了。那么在andoird平台下广播机 ... -
android文件保存
2012-08-27 14:16 855主界面 Activity package com.examp ... -
进度条ProgressBar应用
2012-08-17 09:40 914layout的配置文件: <LinearLayout ... -
ListView编写
2012-08-17 09:36 686布局文件layout中: 一个是Activity的主布局文件 ...
相关推荐
预置一些文件到系统sdcard目录
1. **Android文件存储** - **内部存储**: 应用私有的存储空间,只有该应用有权限访问。通常用于存储应用的数据、配置文件等,即使用户卸载应用,这些文件也会被删除。使用`Context.getFilesDir()`或`Context....
在Android平台上,将图片从互联网下载到用户的外部存储(通常称为SDcard)是常见的需求,例如在应用中加载网络头像、壁纸或者其他图像资源。这个过程涉及到网络请求、数据流处理以及文件操作等多个方面。接下来,...
// suffix:需要选择的文件后缀,比如需要选择wav、mp3文件的时候设置为".wav;.mp3;",注意最后需要一个分号(;) // images:用来根据后缀显示的图标资源ID。 // 根目录图标的索引为sRoot; // 父目录的索引为...
而“android webview实现自身下载文件自动保存SDCARD”这个话题则涉及到如何在WebView中处理文件下载,并且让这些文件自动保存到设备的外部存储(通常是SDCARD)中,而且整个过程对用户来说是透明的,即静默下载。...
在Android系统中,获取SDCard(外部存储)的内存信息是开发者经常遇到的任务,这有助于管理应用程序的存储需求,比如保存用户数据、缓存文件或者下载内容。标题提到的"Android解析如何获取SDCard内存项目源代码"显然...
本文将根据提供的文件标题、描述、标签以及部分内容,详细介绍如何在Android平台上实现SDCard的自动mount。 #### 确保SDCard驱动正常编译和使用 首先,确保SDCard的驱动程序已正确编译并且能够在Android设备上正常...
在Android系统中,外置SDCard(也称为外部存储)是设备上用于扩展存储空间的区域,用户可以在这个空间上存储各种数据,如媒体文件、应用程序数据等。本篇文章将详细探讨如何在Android应用中实现对外置SDCard的读取、...
例如,使用命令"adb push music.MP3 sdcard/Android"可以将音乐文件添加到模拟器的sdcard中。 接着,当文件成功推送到模拟器的sdcard后,可以在模拟器中使用DevTools中的MediaScanner服务来扫描媒体文件,从而使得...
在Android平台上,对SDCard(外部存储)进行文件操作是应用程序与用户交互的重要部分,尤其对于需要存储大量数据或媒体文件的应用来说。本教程将详细解释如何在Android中读写SDCard文件,非常适合初学者入门。 首先...
在Android开发中,将网络上的图片下载到SDCard并显示是一项常见的需求。这个源码示例提供了一种方法来实现这一功能。以下是基于标题和描述的相关知识点详解: 1. **Android权限管理**: 在Android中,访问SDCard...
通过阅读和理解这些代码,开发者可以更好地掌握Android文件存储的实践技巧。 总的来说,了解和熟练运用Android的内部存储和SDCard存储机制,是开发高质量应用的关键步骤,它能帮助我们更有效地管理应用数据,提升...
外部存储,尤其是Sdcard,主要用来存放大容量、可共享的文件,如音频、视频、图片和文档。 在Android中,访问Sdcard需要相应的权限。在AndroidManifest.xml文件中,添加以下代码以请求读写权限: ```xml ...
### Android中SDCard的读写操作详解 ...通过以上介绍,我们可以了解到在Android开发中如何有效地对SDCard进行读写操作。正确地使用这些技术可以帮助开发者更好地管理应用的数据存储,提升用户体验。
在Android平台上,对SDCard(外部存储)进行文件读写是常见的操作,尤其对于需要存储用户数据或资源的应用来说更是必不可少。本实例将探讨如何在Android应用中实现SdCard的读写功能。 首先,我们需要了解Android对...
android应用开发中关于SDCard读写操作的实例代码,在下载学习SDCard操作中,碰到很棘手的问题了。不过最后还在我的坚持下成功了,
- 在Android 6.0及以上版本,除了读取外部存储(如SDCard)的基本文件外,写入外部存储需要在运行时请求`Manifest.permission.WRITE_EXTERNAL_STORAGE`权限。 - 使用`ContextCompat.checkSelfPermission()`检查...
代码如下:// 读取sdcard文件private void sdcardRead(){String fileName = “/sdcard/my_sdcard.txt”;// assets下文件//String fileName = “/sdcard/test/my_sdcard_test.txt”;// sdcard下子目录文件String ret =...
在Android系统中,APK(Android Package)是应用程序的安装包,用户通常通过Google Play或其他第三方应用商店下载这些APK文件来安装应用。然而,默认情况下,Android设备会将APK安装到内部存储器中,这可能导致内存...