从资产文件夹中读取pdf文件
public void DOCS(View btnDocs) { File fileBrochure = new File("android.resource://com.project.datastructure/assets/abc.pdf"); if (!fileBrochure.exists()) { CopyAssetsbrochure(); } /** PDF reader code */ File file = new File("android.resource://com.project.datastructure/assets/abc.pdf"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file),"application/pdf")
0 2023-05-21
编程技术问答社区
JNI获取资产文件路径
我正在尝试将两个.xml文件添加到我的Android应用程序的APK中.在JNI C ++代码中,我想了解文件的路径,以便我可以打开并读取文件. 我真的需要路径,因为文件是使用访问文件的openCV函数打开的. 我已经有一个: (java文件) public native void assetLoad(AssetManager mgr); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_vision_camera); assetManager = getResources().getAssets(); assetLoad(assetManager); } (CPP文件) JNIEXPORT void JNI
4 2023-05-10
编程技术问答社区
在Android上保持TensorFlow模型的加密性
我搜索以了解是否有一种技术可以在Android应用程序中保持经过训练的TensorFlow模型(.pb文件),但没有发现任何有用的东西.我正在释放一个包含我在培训集中构建的TensorFlow模型的应用程序.当我发布该应用程序时,任何人都可以访问该模型并将其用于自己的应用程序.我想知道是否有一种方法来保护我放入Android应用程序资产文件夹中的TensorFlow模型? 这是我将模型加载到Android中的方式: TensorFlowInferenceInterface tf = new TensorFlowInferenceInterface(); tf.initializeTensorFlow(context.getAssets(), "file:///android_asset/model.pb"); 我一直在考虑将已加密的模型嵌入到应用程序中并在运行时解密,但是如果有人调试应用程序,则可以获取密码并解密它.此外,在TensorFlowInterferei
0 2023-05-02
编程技术问答社区
Android getAssets()方法抛出NullPointerException
我正在尝试从服务中获取我的应用资产,并且我得到了NullPointException. 我发现几篇文章.但是我没有得到我的错误. 代码在哪里: public class OCRService extends IntentService{ private static final String TAG = "OCRService"; public static final String DATA_PATH = Environment.getExternalStorageDirectory().toString() + "/SimpleAndroidOCR/"; public OCRService() { super("OCRService"); String path = new String(DATA_PATH + "tessdata/"); File dir = new File(path); if (!new File(path).e
10 2023-04-30
编程技术问答社区
使用资产中的自定义字体出现NullPointerException
我正在尝试在我的应用程序中使用自定义字体,但是在运行应用程序时我会得到例外: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setTypeface(android.graphics.Typeface)' on a null object reference 我有一个工作字体,这是正确的路径,这是我的代码: private TextView tv; private Typeface tf; tv = (TextView) findViewById(R.id.wlcText); tf = Typeface.createFromAsset(getAssets(), "en_font.ttf"); tv.setTypeface(tf); 那是我的XML:
2 2023-04-30
编程技术问答社区
试图访问一个字符串资源的NullPointerException
我有以下/res/values/uris.xml blahblah 我正在用代码访问它: private String bladderUrl= getString(R.string.bladder); ,但它正在返回零.我不确定为什么? 解决方案 我的猜测你把bladderurl smth放在了这样的地方: public class YourActivity extends Activity { private String bladderUrl = getString(R.string.bladder); @Override public void onCreate(Bundle savedInstanceState) { ...
2 2023-04-30
编程技术问答社区
如何在Android Studio中从资产中读取文本文件?
我在Android Studio中的资产文件目录中有May Wifi2.txt文件.但是,当我尝试访问它时,我会继续获得NullPointException.我的代码如下:(非常感谢) //CSV FILE READING File file = null; try { FileInputStream is = new FileInputStream(file); try { BufferedReader reader = new BufferedReader(new InputStreamReader(getAssets().open("wifi2.txt"))); String line; Log.e("Reader Stuff",reader.readLine()); while ((line = reader.readLine()) != null) { Log.e("code",line); String[] RowData = line.split(","); LatLng
0 2023-04-30
编程技术问答社区
从资产文件夹中设置通知声音
我将声音文件附加在资产文件夹中,以获取通知中的播放声音,但我无法从资产文件夹中播放声音. 我有设置页面,用户可以从中为通知设置声音,并且用户也可以播放声音.该部分已完成.我可以使用媒体播放器从资产文件夹中播放声音.我可以在通知创建时间使用相同的逻辑,但是当用户单击通知时可能会发生问题,因为媒体播放器仍在播放声音. 我尝试了 notification.sound = Uri.parse("file:///android_asset/Sound/Long/AlarmClock.mp3"); 也像这样尝试了 notification.sound = Uri.parse("android_asset/Sound/Long/AlarmClock.mp3"); 但我的问题仍未解决. 还有其他方法可以从资产目录中设置通知中的声音? logcat 01-10 09:57:01.509: ERROR/PlayerDriver(31): Command PL
6 2023-04-27
编程技术问答社区
如何使用Android-NDK从本地代码中直接访问资源(如声音、图像等)?
我想知道如何直接从本机代码(即C ++文件)直接访问图像,声音文件等资源.实际上,我正在寻找任何可以帮助我使用asset_manager_jni.h方法的示例. 寻找建议.预先感谢. 与 有关 atul prakash singh 解决方案 好吧,您可以访问stdio.h.因此,如果它位于已知的地方(例如在SD卡上),则可以将其用作路径.网上有很多关于使用stdio的教程(fopen,fclose等). 问题是,您将资源捆绑到APK本身(在RES/RAW或资产中),请在安装后留在APK内.更糟糕的是,默认情况下,它们将被压缩,这使得阅读不可行.可以避免这种情况,最简单的方法是将资产重命名为.mp3扩展程序(或者还有其他).原因是因为默认情况下,.mp3不被压缩,无论它是否实际是mp3文件).您还可以使用其他扩展名,以及如果您不喜欢在末尾使用.mp3命名所有资产,则可以告诉工具不要压缩数据. 所以,您在这里有一些选择: 在您的第一次运行中从网上下载
0 2023-04-20
编程技术问答社区
安卓媒体播放器。在状态4中启动调用错误(-38,0)
这是Am Am用来从其他类中动态获取文件名(.mp3)的代码,因为我的资产文件夹中有许多mp3文件: playAudioButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { FileName audio=new FileName(); String audioName=audio.getAudioName(count).toString(); if(audioName=="NO Audio") { Toast.makeText(getApplicationContext(), "No Audio for this
2 2023-03-24
编程技术问答社区
如何在libGDX中用AssetManager构建一个ResourceManager
我想在我的Android游戏中使用非静态资产管理器吗?我有很多层次.我应该如何使用AssetManager?我应该为每个级别创建一个单独的资产管理器吗?因为如果我创建一个AssetManager,它将在第一个屏幕中加载所有纹理等. 解决方案 您应该在主类中创建一个资产管理器,该资产在应用程序的启动时加载所有资产.然后,对于每个级别,您应该创建一个不同的屏幕或使用一个屏幕,具体取决于您的游戏.然后,您将AssetManager的引用传递给您创建的每个新屏幕实例(供屏幕访问其资产). 例如: main.java public class Main extends Game { private GameScreen gameScreen; // the game screen private AssetManager assetManager; // for loading all assets public void create(){ asset
4 2023-03-04
编程技术问答社区
使用安卓原生的AssetManager的文件层次结构
问题 我想知道如何通过本机代码中的Android中的资产文件夹进行文件层次结构.我正在使用AAssetManager_openDir,但是AAssetDir_getNextFileName没有返回任何目录名称,因此基本上我无法深入研究层次结构,因为我无法获得子文件夹的名称.有什么方法可以用AAssetManager解决此问题,或者我应该在Java中实现此问题? 示例 资产看起来像 a/ file1 file2 b/ file3 c/ file4 C ++代码 AAssetDir* assetDir = AAssetManager_openDir(env, ""); // filename is NULL since there is only folders at the root folder const char* filename = AAssetDir_getNextFileName(assetDir); AAssetDi
24 2023-03-01
编程技术问答社区
如何在Android中访问assets-pack数据(kotlin)?
我使用Asset-pack库中的Android Kotlin应用程序包装了一些资产: https://developer.android.com/guide/app-bundle/asset-delivery/build-native-native-java 不是我应该能够通过context.assets访问资产.但是,我不知道正确的路径是什么. 我的资产包称为models,并在.aab文件的根文件夹中正确创建,因此我想它也正确安装了. 现在根据文档( .com/guide/playcore/aSset-delivery/integrate-java )我可以访问这样的资产: import android.content.res.AssetManager; ... Context context = createPackageContext("com.example.app", 0); AssetManager assetManager = context.getAss
10 2023-02-25
编程技术问答社区
在Kotlin(Android)中读取文本资产(资产文件夹中的文本文件)
我需要读取存储在src/main/assets/的文本文件.在资产文件夹中并将其作为字符串. 有一种简单的方法. java副本,粘贴,转换函数正在带来麻烦,所以我宁愿使用kotlin方式. 我需要一种kotlin做到这一点的方法 解决方案 我在YouTube视频中找到了这一点.这是链接 https://www.youtube.com/watch?v=o5pdghyrhmi val file_name = "qjsonfile.json" val json_string = application.assets.open(file_name).bufferedReader().use{ it.readText() } 将JSON或文本保存到字符串json_string. 其他解决方案 如有疑问,请自己关闭流! application.assets.open(file_name).apply {
10 2023-02-24
编程技术问答社区
从assets文件夹中的json文件获取数据
尝试从Ionic 2应用程序中的JSON文件中获取数据,我在构造函数中使用以下代码来从资产文件夹中获取JSON,但是获取错误" 提供的参数与呼叫目标的任何签名不匹配."我缺少的东西,请建议. this.http.get('assets/sample.json') .map((res) => res.json().records) .subscribe(data => { this.data = data; console.log("json data"+ data); }, (rej) => {console.error("Could not load local data",rej)}); 解决方案 所以我解决了它,用作资产文件夹的JSON文件的路径可帮助我获取在设备上显示数据的答案. this.http.get('/android_asset/www/assets/data/subjects.json').map(res => res.json()).su
4 2023-02-19
编程技术问答社区
如何解析资产中的本地JSON文件?
我的资产文件夹中有一个JSON文件.该文件具有一个带有数组的对象.该数组有150多个对象,每个对象都有三个字符串. 对于这150多个对象,我想提取每个字符串并创建一个通过三个字符串的Java模型对象.我在Android JSON解析上发现的所有教程都从我不想做的URL中获取JSON. 解决方案 您应该使用 gson Library 解析器. 在App Gradle文件中添加此依赖项: implementation 'com.google.code.gson:gson:2.8.1' 在Res文件夹中创建RAW文件夹.然后将JSON文件复制到RAW文件夹.(最好使用RAW文件夹而不是资产).例如,您的JSON文件名为 my_json.json { "list": [ { "name": "Faraz Khonsari", "age": 24 }, { "name": "John Snow",
0 2023-02-18
编程技术问答社区
从assets目录中读取文件,抛出FileNotFoundException。
我试图在我要写的文字游戏中使用一堆单词的文本文件中阅读.此列表存储在资产目录中,是一个TXT文件.但是,每当我试图打开它时,它都会引发异常. ListwordList = new ArrayList(); BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(getAssets().open("wordlist.txt"))); //throwing a FileNotFoundException? String word; while((word=br.readLine()) != null) wordList.add(word); //break txt file into different words, add to wordList }
18 2023-01-31
编程技术问答社区
安卓。使用WebView播放资产声音
当用户点击我的应用程序WebView上的标记上时,我正在尝试从资产文件夹中发出声音.我发现我可以使用一个扩展WebViewClient的新类来检测链接的扩展,如果它是一个MP3文件,它可以通过默认的音频播放器播放.但我希望它在活动中播放,而无需开始新的活动. 我使用以下链接作为参考: 声音在webview 和在资产中使用URI或文件创建MediaPlayer的错误 但它不起作用. 我尝试使用以下代码执行此操作: package com.rangga.test.webview.sound; import android.content.Intent; import android.content.res.AssetFileDescriptor; import android.media.MediaPlayer; import android.net.Uri; import android.webkit.WebView; import android.webkit.
28 2023-01-18
编程技术问答社区
播放资产目录中的音频文件
我有以下代码: AssetFileDescriptor afd = getAssets().openFd("AudioFile.mp3"); player = new MediaPlayer(); player.setDataSource(afd.getFileDescriptor()); player.prepare(); player.start(); 问题是,当我运行此代码时,它开始按字母顺序播放资产目录中的所有音频文件,而不是刚刚播放我请求的音频文件.我究竟做错了什么?是否有更好的方法来从资产目录中播放音频文件? 后续问题: 在资产目录中保存音频文件并将其保留在RES/RAW目录之间是否有区别?除了他们在资产目录中没有得到ID的事实,如果他们没有.如果我将音频文件移动到RES/RAW文件夹,那么我遇到了重用MediaPlayer S的问题,因为setDataSource()没有ID参数.我找不到处理这种问题的良好指导. 解决方案 player.setDat
16 2023-01-18
编程技术问答社区
安卓动态资产交付
我想在我的app.i中添加动态资产传递功能.I需要添加3个不同的资产包.我阅读了这个主题的Google文档,但没有理解任何内容.您没有关于YouTube的教程. 需要一步一步的过程. 解决方案 https://github.com/changcsw/padsameple-android/blob/master/app/src/main/java/com/example/padsample/mainactivity.java 这个样本对我来说非常有帮助+ 官方文档1 官方文档2
42 2023-01-18
编程技术问答社区