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


目录
相关文章
|
2月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
176 5
|
23天前
|
人工智能 自然语言处理 JavaScript
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
Univer 是一款开源的 AI 办公工具,支持 Word、Excel 等文档处理的全栈解决方案。它具有强大的功能、高度的可扩展性和跨平台兼容性,适用于个人和企业用户,能够显著提高工作效率。
106 8
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
|
29天前
|
人工智能 文字识别 数据挖掘
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
193 9
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
140 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
C#
【Azure App Service】使用Microsoft.Office.Interop.Word来操作Word文档,部署到App Service后报错COMException
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
|
3月前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。
|
3月前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
950 1
|
3月前
|
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向量化 增强检索
206 2
|
5月前
|
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 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
370 0
|
5月前
|
Python
还不会免费将PDF转为Word?你可以试试这3种工具!
还不会免费将PDF转为Word?你可以试试这3种工具!
135 0

热门文章

最新文章