app展示word、excel、pdf、ppt,sp SharedPreferences的基本用法

简介: app展示word、excel、pdf、ppt,sp SharedPreferences的基本用法

activity中加载fragment的控件



fragment.getView().findViewById(id)来获取fragment中的控件。


在fragment 中调用activity中的控件



前提条件是这个fragment是装在这个activity中的,还有一种情况是fragment的嵌套的时候也是  可以的。


首先把activity中的控件声明为public


在fragment中这样调用:


//获取上下文,在这里就是只Activity,
MainActivity mainActivity = (MainActivity) getActivity();
使用Context调用控件;
mainActivity.mIvAction.setVisibility(View.GONE);

原理就是: fragment是嵌套在Activity的,activity就是桌子,Fragment就是抽屉,可以用父子继承关系看待;


上面第一句就是在获取上下文,在这里就是只Activity,


第二句就是使用Context调用控件;


根本原因是:所有的控件都是继承Context的

整理一天了,网上嗾使tbs的sdk jar,都不能用;


腾讯的demo也是不行的;下载地址:tbs.imtt.qq.com//release/44…


4177d21fd11c40dbafb01c7edcd0f545_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


3f8d6c642f7d4302a0f7f0d6613bbbe9_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


网上有个人是根据腾讯demo写了一个可以用的,但是我的使用还是不行,不过他有截图为证;


简书 说明 ;


[git 项目](https://github.com/ZhongXiaoHong/superFileView)
复制代码


但是我使用还是不行的;


我的办法:


现附上两个在线预览office文档的地址:(浏览器都需要chrome的内核)

1 google:docs.google.com/viewer?url=…

2 微软:view.officeapps.live.com/op/view.asp…


demo:

先上图片


c6115775f4894ca5b9c5bacb70baaa3c_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg

doc


5ed152d8f6db403ba1cd896bad11321c_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


ppt的


```xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/wv"/>
</androidx.constraintlayout.widget.ConstraintLayout>
```xml
```xml
```java
package com.example.myweb;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
    private WebView urlWebView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        urlWebView.setVisibility(View.VISIBLE);
        urlWebView.setWebViewClient(new AppWebViewClients());
        urlWebView.getSettings().setJavaScriptEnabled(true);
        urlWebView.getSettings().setUseWideViewPort(true);
        urlWebView.loadUrl
                ("http://view.officeapps.live.com/op/view.aspx?src=https://tidaizhe.cn/entLicense/123.ppt");
    }
    public class AppWebViewClients extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
            view.loadUrl(url);
            return true;
        }
        @Override
        public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
            super.onPageFinished(view, url);
        }
    }
    private void initView() {
        urlWebView = (WebView) findViewById(R.id.wv);
    }
}


NET::ERR_CACHE_MISS


在manifest 的配置文件中添加


这样就好了


ERR_CLEARTEXT_NOT_PERMITTED


android:usesCleartextTraffic=“true”


2d2afbe994e14775866196f6d690b9cb_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


storage/emulated/0.到底在哪儿


85f1b979851448df83556d90c9a7d2b7_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


sp清空:


SharedPreferences pref = FormalExamActivity.this.getSharedPreferences("face", Context.MODE_PRIVATE);
        if (pref != null) {
            SharedPreferences.Editor editor = pref.edit();
            editor.clear();
            editor.commit();
        }


获取SharedPreferences的两种方式:


1 调用Context对象的getSharedPreferences()方法


2 调用Activity对象的getPreferences()方法


两种方式的区别:


调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.


调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.


SharedPreferences的四种操作模式:


Context.MODE_PRIVATE

Context.MODE_APPEND

Context.MODE_WORLD_READABLE

Context.MODE_WORLD_WRITEABLE


Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容


Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.


Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.


MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.


MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.


将数据保存至SharedPreferences:


SharedPreferences preferences=getSharedPreferences("face",Context.MODE_PRIVATE);
                        SharedPreferences.Editor editor=preferences.edit();
                        String picName=picTag+"";
                        editor.putString("picName", picName);
                        editor.commit();


从SharedPreferences获取数据:


SharedPreferences preferences = getSharedPreferences("face", Context.MODE_PRIVATE);
String picName = preferences.getString("picName", "110");


相关文章
|
5月前
|
小程序
公众号如何添加附传Word、Excel、Pdf、PPT文档
公众号里添加一些文档给公众号粉丝下载,比如课件PPT、申请表Word文档、岗位需求Excel表、大赛入围/获奖名单等。公众号本身是不支持直接上传文件的,但我们可以通过附件小程序“间接”上传文件。
806 0
|
7月前
|
存储 人工智能 文字识别
三款安卓手机word编辑器下载,Microsoft Word,wps office,Word手机版,手机word编辑查看阅读器,PDF转换器apk下载
WPS Office是一款功能强大的办公软件,支持文档编辑、表格处理和演示文稿制作,兼容多种格式并提供丰富的云服务。它具备低内存占用、快速运行的特点,支持跨设备同步与多人协作,内置海量模板及AI辅助功能,如智能写作和PPT自动生成。此外,还可扫描文件、编辑PDF并转换为其他格式,极大提升办公效率,适合手机用户便捷操作。
764 1
|
6月前
|
监控 Linux 数据安全/隐私保护
Python实现Word转PDF全攻略:从入门到实战
在数字化办公中,Python实现Word转PDF自动化,可大幅提升处理效率,解决格式兼容问题。本文详解五种主流方案,包括跨平台的docx2pdf、Windows原生的pywin32、服务器部署首选的LibreOffice命令行、企业级的Aspose.Words,以及轻量级的python-docx+pdfkit组合。每种方案均提供核心代码与适用场景,并涵盖中文字体处理、表格优化、批量进度监控等实用技巧,助力高效办公自动化。
1557 0
|
9月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
505 10
|
10月前
|
安全 搜索推荐 iOS开发
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
589 8
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
|
11月前
|
数据采集 前端开发 JavaScript
PDF预览:利用vue3-pdf-app实现前端PDF在线展示
通过本文的介绍,我们详细了解了如何在Vue3项目中使用vue3-pdf-app实现PDF文件的在线展示。从项目初始化、插件集成到高级功能的实现和部署优化,希望对你有所帮助。在实际项目中,灵活运用这些技术可以大大提升用户体验和项目质量。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
4月前
|
缓存 移动开发 JavaScript
如何优化UniApp开发的App的启动速度?
如何优化UniApp开发的App的启动速度?
870 139
|
4月前
|
移动开发 JavaScript weex
UniApp开发的App在启动速度方面有哪些优势和劣势?
UniApp开发的App在启动速度方面有哪些优势和劣势?
438 137
|
4月前
|
数据采集 JavaScript 前端开发
开发比分App?你缺的不是程序员
开发体育比分App,关键不在代码,而在懂体育、懂数据、懂用户。明确定位、理清需求、选好数据源,再找专业的产品、数据与技术人才协同,才能少走弯路。程序员最后入场,效率最高。
294 154

热门文章

最新文章