Articles of 文件 io

安装前Android旋转图片

我刚刚完成了我的相机活动,它可以很好地保存数据。 照片拍摄后我做了什么: protected void savePictureData() { try { FileOutputStream fs = new FileOutputStream(this.photo); fs.write(this.lastCamData); fs.close(); //okay, wonderful! file is just written to the sdcard //——————— //——————— //TODO in here: dont save just the file but ROTATE the image and then save it! //——————— //——————— Intent data = new Intent(); //just a simple intent returning some […]

Android:BluetoothSocket收到自己的输出

我有一个通过蓝牙连接到RaspberryPi的应用程序,并在收到一些数据时将相同的数据循环到它。 我有一些连接问题所以需要这个解决方法将我的Android手机连接到RaspberryPi: IOException:读取失败,套接字可能关闭 – Android 4.3上的蓝牙 由于某种原因,Android手机正在接收自己的输出。 字符串“Hello Raspberry。这是我,AndroidPhone”以永无止境的循环发送到输出。 传入的数据(来自RaspberryPi)也在永无止境的循环中读取。 但不知何故,我不仅收到RaspberryPi的数据,还收到通过智能手机发送的字符串。 这是我的代码: public class MainActivity extends AppCompatActivity { private BluetoothAdapter bluetoothAdapter; UUID SERIAL_UUID = UUID.fromString(“00001101-0000-1000-8000-00805f9b34fb”); @Override protected void onCreate(Bundle savedInstanceState) { // (…) // Only GUI-stuff until this point bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); BluetoothDevice raspberryPi = bluetoothAdapter.getRemoteDevice(“B8:27:EB:56:DC:B2”); BluetoothSocket btSocket; try { btSocket = raspberryPi.createRfcommSocketToServiceRecord(SERIAL_UUID); btSocket.connect(); } […]

Android Studio在编译时无法删除文件

当我编译我的应用程序以便在模拟器上运行它时,Android Studio(版本3.0 RC2)会抱怨,因为它无法删除项目文件夹中的1.jar文件。 这是错误消息: Error:Execution failed for task ‘:app:transformClassesWithDesugarForDebug’. > com.android.build.api.transform.TransformException: java.io.IOException: Could not delete path ‘D:\ProgrammazioneOffline\ProjectFolder\app\build\intermediates\transform s\desugar\debug\1.jar’. 我发现清理项目会让它再次编译,但过了一段时间它再次抱怨。 我的项目不是那么小,每次重建都需要花费很多时间(重建所有时间大约需要4分钟,而工作正常时需要30秒)。 我已经格式化了我的PC并在问题出现之前改变了项目的路径。 我忘了在某个地方改变一些对项目的引用吗? 我没有在已知问题中find这个问题。 提前谢谢,抱歉我的英语不好。 编辑:我发现java.exe正在使用该文件,并通过cmd杀死它使编译运行但不应该由Android Studio完成? EDIT2:这是firebase插件,问题已修复,请参阅我接受的答案

Android USB主机通讯

我正在开发一个利用Android 3.2中的USB Hostfunction的项目。 一般来说,我在USB /串行通信方面缺乏可观的知识和才能。 我也无法find任何我需要做的好示例代码。 我需要从USB通信设备读取。 例如:当我通过Putty(在我的电脑上)连接时,我输入: >GO 设备开始为我喷出数据。 俯仰/滚动/温度/校验。 例如: $R1.217P-0.986T26.3*60 $R1.217P-0.986T26.3*60 $R1.217P-0.987T26.3*61 $R1.217P-0.986T26.3*60 $R1.217P-0.985T26.3*63 我可以从Android设备发送初始的“GO”命令,此时我收到“GO”的回音。 然后在任何后续读取上没有别的。 我该怎么做:1)发送’go’命令。 2)读入结果数据流。 我正在使用的USB设备具有以下接口(端点)。 设备类别:通讯设备(0x2) 接口: 接口#0类:通信设备(0x2)端点#0方向:入站(0x80)types:中断(0x3)轮询间隔:255最大数据包大小:32属性:000000011 接口#1类:通信设备类(CDC)(0xa)端点#0地址:129编号:1方向:入站(0x80)types:批量(0x2)轮询间隔(0)最大数据包大小:32属性:000000010 端点#1地址:2编号:2方向:出站(0x0)types:批量(0x2)轮询间隔(0)最大数据包大小:32属性:000000010 我能够处理权限,连接到设备,find正确的接口并分配端点。 我只是想弄清楚使用哪种技术发送初始命令读取随后的数据。 我尝试了bulkTransfer和controlTransfer的不同组合而没有运气。 谢谢。 我正在使用界面#1,如下所示: public AcmDevice(UsbDeviceConnection usbDeviceConnection, UsbInterface usbInterface) { Preconditions.checkState(usbDeviceConnection.claimInterface(usbInterface, true)); this.usbDeviceConnection = usbDeviceConnection; UsbEndpoint epOut = null; UsbEndpoint epIn = null; // look for our […]

Android ContentProvider和Google IO Rest Talk

对所有人来说 如果您在构建Android REST应用程序时观看Google IO会话,则无论您是否需要共享数据,他们都建议使用所有三种设计模式来使用内容提供商。 如果您查看http://developer.android.com/reference/android/content/ContentProvider.html上的Content Provider类文档,他们表示如果您计划与其他应用程序共享数据,则只需使用内容提供程序。 我的应用程序不需要与其他应用程序共享任何数据,因此使用内容提供商过度杀伤? 如果是这样,为什么Google IO RESTvideo意味着它应该在所有场景中使用? – =更新= – 会谈在这里https://dl.google.com/googleio/2010/android-developing-RESTful-android-apps.pdf 。

如何将Writer转换为String

Writer writer = new Writer(); String data = writer.toString();/* the value is not casting and displaying null…*/ 有没有其他方法将编写器转换为字符串?

如何在Java中以线程安全的方式使用mkdirs?

在遇到与mkdirs()相关的问题并且在互联网上发现问题后,我得到mkdirs()存在线程安全问题的印象。 有没有一种方法可以确保当多个线程可能正试图创build类似的文件结构时正确创build目录? 谢谢 (在我的情况下,我将在Android上使用这个)

可序列化对象的ArrayList的encryption保存和解密加载

我保存和加载SD卡中包含这两种方法的序列化对象的ArrayList的文件 保存方法 public static void saveUserList(ArrayList<User> userList) { if (storageAvailable()) { try { createFolder(); FileOutputStream userList = new FileOutputStream( baseDir + File.separator + baseAppDir + File.separator + fileName); ObjectOutputStream oos = new ObjectOutputStream( userList); oos.writeObject(userList); oos.close(); } catch (Exception exc) { exc.printStackTrace(); } } } 加载方法 public static ArrayList<User> loadUserList() { if (storageAvailable()) { ArrayList<User> […]

Android:使用NDK从SD卡上的文件IO

我正在试图写入使用NDK的输出文件,它似乎并没有工作。 我写的代码如下所示: JNIEXPORT jdouble JNICALL Java_com_example_sdcardtest2_CppMethods_nativeCalculations (JNIEnv* env, jclass clazz, jdouble dub){ jdouble hub = dub + 10; FILE* file = fopen("/sdcard/textTest.txt","w+"); fputs("HELLO WORLD!\n", file); fclose(file); return hub; } 返回types是双倍的原因是我计划使用该function的另一个目的,但我首先尝试文件io。 在logcat中,我收到以下错误: Fatal signal 11: (SIGSEGV) at 0x00000000c (code = 1) ….. 有趣的是,当我尝试使用java文件io在调用者活动中写入或读取同一文件时,我没有任何问题。 我确信我有清单文件中的写权限。 此外,如果我删除FILE* file …行,并尝试使用函数返回的double值,程序运行良好。 有人可以帮忙吗? 难道这个问题应该包含在Android.mk或Application.mk文件中,例如? 更新我使用的是三星银河注2,如果这有什么区别 UPDATE2 以下是完整的代码: java活动: public class MainActivity […]

Android Studio在编译时不能删除文件

当我编译我的应用程序为了在模拟器上运行它,Android Studio(版本3.0 RC2)抱怨,因为它不能删除我的项目文件夹中的1.jar文件。 这是错误消息: Error:Execution failed for task ':app:transformClassesWithDesugarForDebug'. > com.android.build.api.transform.TransformException: java.io.IOException: Could not delete path 'D:\ProgrammazioneOffline\ProjectFolder\app\build\intermediates\transform s\desugar\debug\1.jar'. 我发现清理这个工程使得它重新编译,但过了一段时间后又再次抱怨。 我的项目不是很小,每次重build都需要很多时间(重build时间大约是4分钟,而工作正常的时候是30秒)。 在问题出现之前,我已经格式化了我的电脑并改变了项目的path。 我是否忘记了在某处引用某个项目? 在知道的问题中我没有发现这个问题。 预先感谢,并为我的糟糕的英语感到抱歉。 编辑:我发现该文件正在被java.exe使用,并通过cmd杀死它使编译运行,但不应该由Android Studio? 编辑2:这是firebase插件,问题已经修复,看到我接受的答案