基本信息
源码名称:android 文件管理器源码下载
源码大小:0.68M
文件格式:.rar
开发语言:Java
更新时间:2016-02-15
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package com.tarena.fileExplore;
import java.io.File;
import java.util.Arrays;
import java.util.Comparator;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView=(WebView)findViewById(R.id.webView);
setWebView();
webView.addJavascriptInterface(new MyObject(), "filee");
webView.loadUrl("file:///android_asset/www/index.html");
}
class MyObject{
@JavascriptInterface
public void finishActivity(){
finish();
}
@JavascriptInterface
public String getFiles(String dir){
try {
File file=new File(dir);
File[] files=file.listFiles();
//排序
sort(files);
JSONArray ary=new JSONArray();
for(int i=0; i<files.length; i ){
File f=files[i];
JSONObject obj=new JSONObject();
obj.put("isDir", f.isDirectory());
obj.put("name", f.getName());
ary.put(obj);
}
return ary.toString();
} catch (Exception e) {
e.printStackTrace();
return "[]";
}
}
/**
* 排序 文件夹放上面 文件放下面
* 文件夹和文件分别按字母顺序排序
* @param files
*/
private void sort(File[] files) {
Arrays.sort(files, new Comparator<File>() {
public int compare(File f1, File f2) {
if(f1.isDirectory()&& !f2.isDirectory()){
return -1;
}else if(!f1.isDirectory()&&f2.isDirectory()){
return 1;
}
return f1.getName().compareTo(f2.getName());
}
});
}
}
private void setWebView() {
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient(){
//重写需要的方法
});
webView.setWebViewClient(new WebViewClient(){
//重写需要的方法
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onBackPressed() {
//告诉html 加载上一级目录
webView.loadUrl("javascript: goBack()");
}
}