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");


目录
相关文章
|
4天前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。
|
4天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
12 1
|
16天前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
42 2
|
2月前
|
Web App开发 iOS开发 容器
Vue3PDF预览(vue3-pdf-app)
`vue3-pdf-app` 插件提供了一个简单而强大的 PDF 预览解决方案。通过 `&lt;a&gt;` 标签即可快速预览 PDF 文件。为满足更复杂的定制需求,提供了 `PDFViewer.vue` 组件,基于 `vue3-pdf-app@1.0.3` 封装,支持多种功能如缩放、旋转、全屏预览、打印等,并可自定义主题颜色与语言。组件属性包括文件地址 (`src`)、预览容器尺寸 (`width`, `height`)、默认缩放规则 (`pageScale`) 和主题 (`theme`) 等。适用于多种浏览器,方便集成到项目中。
215 1
Vue3PDF预览(vue3-pdf-app)
|
2月前
|
Linux Python Windows
Python PDF文件转Word格式,只需要3秒(附打包)
Python PDF文件转Word格式,只需要3秒(附打包)
74 3
Python PDF文件转Word格式,只需要3秒(附打包)
|
2月前
|
JavaScript API
Vue3 运行可以,build 打包发布报错,app.config.globalProperties 用法坑
Vue3 运行可以,build 打包发布报错,app.config.globalProperties 用法坑
62 2
|
2月前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
57 1
|
2月前
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
173 0
|
2月前
|
Python
还不会免费将PDF转为Word?你可以试试这3种工具!
还不会免费将PDF转为Word?你可以试试这3种工具!
|
3月前
|
Web App开发 前端开发 安全
2024年新一代WebOffice内嵌网页组件,Web网页在线编辑Word/Excel/PPT
WebOffice控件面临兼容性、用户体验和维护难题。随着浏览器更新,依赖插件的技术不再适用,如Chrome不再支持NPAPI和PPAPI。产品普遍不支持多版本Office并存,定制能力弱,升级复杂。猿大师办公助手提供了解决方案,它兼容多种浏览器,包括最新版和国产浏览器,不依赖插件,支持文档对比,具有丰富的功能和接口,兼容多种Office版本,允许源码级定制,提供终身技术支持,并实现静默在线升级。适用于多种行业和操作系统。
190 5