即時通訊設法制作一個音樂應用程序,只是讓我的列表視圖的歌曲列表和其收緊力量關閉。我剛纔提到的用戶權限讀取外部存儲隨後也...這裏是代碼我的應用程序的原因是什麼原因每次都會關閉?
package com.smp.ravirathore.music;
import android.graphics.Typeface;
import android.os.Environment;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import java.io.File;
import java.util.ArrayList;
public class FileList extends AppCompatActivity {
TextView text_list;
ImageView backimg;
ListView listsongs;
String[] genuinesongs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file_list);
backimg = (ImageView) findViewById(R.id.imageView);
text_list = (TextView) findViewById(R.id.text_list);
listsongs = (ListView) findViewById(R.id.list_songs);
Typeface font = Typeface.createFromAsset(getAssets(), "journal.ttf");
text_list.setTypeface(font);
ArrayList<File> songs = find(Environment.getExternalStorageDirectory());
genuinesongs = new String[songs.size()];
for (int i = 0; i <= songs.size(); i++) {
genuinesongs[i] = songs.get(i).getName().toString().replace("mp3","");
}
ArrayAdapter<String> adp = new ArrayAdapter<String>(getApplicationContext(),R.layout.activity_file_list,
R.id.text_list, genuinesongs);
listsongs.setAdapter(adp);
}
public ArrayList<File> find(File root){
ArrayList<File> arrayList = new ArrayList<File>();
File[] files = root.listFiles();
for(File single : files){
if(single.isDirectory() && !single.isHidden()){
arrayList.addAll(find(single));
}
else{
if(single.getName().endsWith(".mp3") || single.getName().endsWith(".wav")){
arrayList.add(single);
}
}
}
return arrayList;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_file_list, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}}
而且我都用下面給出
activity_file_list.xml的XML文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FileList">
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/list_songs"
/>
</RelativeLayout>
word_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/linearlayout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#bdbdbd"
android:text="Hello"
android:id="@+id/text_list"
android:padding="10dp" />
</LinearLayout>
最後我的AndroidMenifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.smp.ravirathore.music" >
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".FileList">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
這裏是logcat的:
09-24 16:08:43.105 7201-7201/com.smp.ravirathore.music D/dalvikvm﹕ Late-enabling CheckJNI
09-24 16:08:43.365 7201-7201/com.smp.ravirathore.music D/AndroidRuntime﹕ Shutting down VM
09-24 16:08:43.365 7201-7201/com.smp.ravirathore.music W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x64d62b20)
09-24 16:08:43.365 7201-7201/com.smp.ravirathore.music W/System.err﹕ java.io.FileNotFoundException: /data/data/.tmp/.crashed_app: open failed: EACCES (Permission denied)
09-24 16:08:43.365 7201-7201/com.smp.ravirathore.music W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:409)
09-24 16:08:43.365 7201-7201/com.smp.ravirathore.music D/AndroidRuntime﹕ procName from cmdline: com.smp.ravirathore.music
09-24 16:08:43.365 7201-7201/com.smp.ravirathore.music E/AndroidRuntime﹕ in writeCrashedAppName, pkgName :com.smp.ravirathore.music
09-24 16:08:43.365 7201-7201/com.smp.ravirathore.music E/AndroidRuntime﹕ FileNotFoundException while trying to write in crash app file
09-24 16:08:43.375 7201-7201/com.smp.ravirathore.music W/System.err﹕ at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
09-24 16:08:43.455 7216-7216/com.smp.ravirathore.music D/dalvikvm﹕ Late-enabling CheckJNI
09-24 16:08:43.535 7216-7216/com.smp.ravirathore.music D/AndroidRuntime﹕ Shutting down VM
09-24 16:08:43.535 7216-7216/com.smp.ravirathore.music W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x64d62b20)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music D/AndroidRuntime﹕ procName from cmdline: com.smp.ravirathore.music
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music E/AndroidRuntime﹕ in writeCrashedAppName, pkgName :com.smp.ravirathore.music
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ java.io.FileNotFoundException: /data/data/.tmp/.crashed_app: open failed: EACCES (Permission denied)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at libcore.io.IoBridge.open(IoBridge.java:409)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at java.io.FileOutputStream.<init>(FileOutputStream.java:73)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at java.io.FileWriter.<init>(FileWriter.java:42)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at com.android.internal.os.RuntimeInit.writeCrashedAppName(RuntimeInit.java:145)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at com.android.internal.os.RuntimeInit.sendCrashReport(RuntimeInit.java:134)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at com.android.internal.os.RuntimeInit.access$100(RuntimeInit.java:53)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:80)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
09-24 16:08:43.545 7216-7216/com.smp.ravirathore.music W/System.err﹕ at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
感謝您的幫助了!
添加您的logcat錯誤 –
你「的TextView」是在不同的佈局文件比你'ListView'和您的訪問,在'.FIleList'因此被強制關閉 –
所以我應該放在哪裏呢? ?我希望文本字體在列表視圖項 –