扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
先获取读取文件的权限,再遍历文件夹及子文件夹,直到结束就可以了。
目前创新互联建站已为成百上千的企业提供了网站建设、域名、网站空间、网站托管维护、企业网站设计、东辽网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
private void getAllFiles(File root,ArrayListFile results){
File files[] = root.listFiles();
if(files != null){
for (File f : files){
if(f.isDirectory()){
getAllFiles(f,results);
}
else{
String name = f.getName();
String extension
= name.substring(name.lastIndexOf("."));
if(extension.Equal("pdf")){
results.add(f);
}
}
}
}
}
《android开发从入门到精通》百度网盘pdf最新全集下载:
链接:
?pwd=aces 提取码: aces
简介:android开发从入门到精通pdf下载是扶松柏所著,作者结合理论和实际案例,用图文搭配的方式,帮助读者了解Android软件开发的基础知识,是一本理论实际紧密结合的教程。
《Android从入门到精通》(孙更新)电子书网盘下载免费在线阅读
链接:
提取码: dbqj
书名:Android从入门到精通
作者:孙更新
出版年份:2011-10
页数:427
内容简介:
孙更新、邵长恒和宾晟等编著的《Android从入门到精通》注重实际动手能力的培养,在遵循技术研发知识体系的严密性的同时,在容易产生错误、不易理解的环节配上翔实的开发实例呈现给读者。每一个实例都经过精心挑选,解释详尽,使读者在实例学习中掌握Android的编程思想和编程技巧。本书配有源代码,读者可快速、无障碍地学习Android实战开发技术。
《Android从入门到精通》适合具备一定软件开发经验,想快速进入Android开发领域的程序员,以及具备一些手机开发经验的开发者和Android开发爱好者阅读,也适合作为相关培训学校的Android培训教材。
手机可以对PDF文件编辑,不过基本都是在电脑上操作,手机以迅捷PDF阅读器为例,
在首页打开PDF文件,点击左边第1个就可以编辑PDF文件,当然旁边还有很多功能,
手机不怎么编辑PDF文件,电脑编辑PDF文件比较多,这是手机编辑PDF文件的方法,还是在电脑上编辑比较方便,望采纳。
首先在百度手机助手或者在别的别的第三方下载工具里下载ireader,如图所示。
2.下载下来软件之后安装在手机上。在手机文件管理器里找到pdf文件。
3.打开该文件,这时候自动会默认使用ireader软件打开。这时候会提示需要安装pdf组件。
4.点击确定之后会自动安装pdf组件。安装好之后,再次在文件管理器内打开pdf文件。这时候就可以阅读该文件了。
分页方法:
打开网络pdf 思路整体还是来源与图片的加载。
android中加载网络图片的框架有很多个。如image-laoder, fresco、glide等,首先都是从内存中找图片,如果内存中没有,接着从本地找,本地没有在从网络下载。
android中加载pdf也是类似,首先从本地找pdf文件,如果本地存在该pdf文件,直接打开,如果本地不存在,将该pdf文件下载到本地在打开。
下载文件用到了retrofit2的库,已经封装到android_pdf中了。
2.依赖android_pdf库方法
2.1 在项目的gradle中增加如下代码:
compile 'com.lidong.pdf:android_pdf:1.0.1'
2.2 一句代码就可以加载网络pdf。
```
pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址
```
2.3对fileFromLocalStorage(this,this,this,fileUrl,fileName)的解析
/**
```
* 加载pdf文件
* @param onPageChangeListener
* @param onLoadCompleteListener
* @param onDrawListener
* @param fileUrl
* @param fileName
*/
public void fileFromLocalStorage(
final OnPageChangeListener onPageChangeListener,
final OnLoadCompleteListener onLoadCompleteListener,
final OnDrawListener onDrawListener,
String fileUrl,
final String fileName)
```
1. OnPageChangeListener onPageChangeListener :翻页回调
2. OnLoadCompleteListener onLoadCompleteListener:加载完成的回调
3. OnDrawListener:页面绘制的回调
4. String fileUrl : 文件的网络地址
5. String fileName 文件名称
3.使用android_pdf库方法
3.1写一个布局文件
```
?xml version="1.0" encoding="utf-8"?
RelativeLayout xmlns:android=""
xmlns:tools=""
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lidong.pdf.androidpdf.MainActivity"
com.lidong.pdf.PDFView
android:id="@+id/pdfView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/
/RelativeLayout
```
3.2在MainActivity中加载
```
import android.graphics.Canvas;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.lidong.pdf.PDFView;
import com.lidong.pdf.api.ApiManager;
import com.lidong.pdf.listener.OnDrawListener;
import com.lidong.pdf.listener.OnLoadCompleteListener;
import com.lidong.pdf.listener.OnPageChangeListener;
import com.lidong.pdf.util.FileUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import okhttp3.ResponseBody;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action1;
import rx.schedulers.Schedulers;
public class MainActivity extends AppCompatActivity implements OnPageChangeListener
,OnLoadCompleteListener, OnDrawListener {
private PDFView pdfView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pdfView = (PDFView) findViewById( R.id.pdfView );
displayFromFile1("", "00100000224821.pdf");
}
/**
* 获取打开网络的pdf文件
* @param fileUrl
* @param fileName
*/
private void displayFromFile1( String fileUrl ,String fileName) {
pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址
}
/**
* 翻页回调
* @param page
* @param pageCount
*/
@Override
public void onPageChanged(int page, int pageCount) {
Toast.makeText( MainActivity.this , "page= " + page +
" pageCount= " + pageCount , Toast.LENGTH_SHORT).show();
}
/**
* 加载完成回调
* @param nbPages 总共的页数
*/
@Override
public void loadComplete(int nbPages) {
Toast.makeText( MainActivity.this , "加载完成" + nbPages , Toast.LENGTH_SHORT).show();
}
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
// Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + "
// pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show();
}
```
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流