Android 类将不会写入我的SD卡
我不能写我的sd卡。事实上,“写入”按钮没有任何作用。我发起得对吗?我的代码错了吗?我的logcat也帮不上忙:/任何帮助都将不胜感激Android 类将不会写入我的SD卡,android,button,android-fragments,android-viewpager,Android,Button,Android Fragments,Android Viewpager,我不能写我的sd卡。事实上,“写入”按钮没有任何作用。我发起得对吗?我的代码错了吗?我的logcat也帮不上忙:/任何帮助都将不胜感激 我不确定这是否是因为我正在使用查看寻呼机?您是否向清单中添加了SD权限 package com.adamschardt.hauling; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.su
我不确定这是否是因为我正在使用查看寻呼机?您是否向清单中添加了SD权限
package com.adamschardt.hauling;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends FragmentActivity {
private static final int NUM_PAGES = 5;
private ViewPager mPager;
private PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new MyFragmentStatePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
}
@Override
public void onBackPressed() {
if (mPager.getCurrentItem() == 0) {
super.onBackPressed();
} else {
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
}
}
private class MyFragmentStatePagerAdapter extends FragmentStatePagerAdapter {
public MyFragmentStatePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment tmpFragment;
if(position==4){
tmpFragment = new SlidePageSupportFragment4();
}else{
tmpFragment = new SlidePageSupportFragment();
((SlidePageSupportFragment)tmpFragment).setPageNumber(position);
}
return tmpFragment;
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
EditText fcontent,fcontent2,fcontent3,fcontent4,fname;
Button write;
protected void onCreate2(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.slide_page);
fname = (EditText)findViewById(R.id.fname);
fcontent = (EditText)findViewById(R.id.edit);
fcontent2 = (EditText)findViewById(R.id.edit2);
fcontent3 = (EditText)findViewById(R.id.edit3);
fcontent4 = (EditText)findViewById(R.id.edit4);
write = (Button)findViewById(R.id.btnwrite);
write.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String filename = fname.getText().toString();
String filecontent = fcontent.getText().toString();
String filecontent2 = fcontent2.getText().toString();
String filecontent3 = fcontent3.getText().toString();
String filecontent4 = fcontent4.getText().toString();
FileOperations fop = new FileOperations();
fop.write(filename, filecontent, filecontent2, filecontent3, filecontent4, filecontent4);
if(fop.write(filename, filecontent, filecontent2, filecontent3, filecontent4, filecontent4)){
Toast.makeText(getApplicationContext(), filename+".txt created", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "I/O error", Toast.LENGTH_SHORT).show();
}
}
});
}
}
我以前做过SD卡处理,这不是小事。从最基本的开始。一个好的Stackoverflow是[Get External SD Location][2] [2] : 我的问题的一个例子是三星手机,SD位于“/storage/extSdCard/”。因此可能存在制造商的问题
祝你好运…你的代码可能是正确的,但现在,你已经在AndroidManifest中设置了安全权限,只需谷歌一下:-)我认为你的Android文件I/O操作不适合SD卡。也许上传你的类文件操作。稍后我会发布一个我认为对你有帮助的答案。随时关注您的进度。如果您认为您的问题可能在SD或文件I/O中,请在您的问题中添加另一个(更合适的)标记,并将android片段作为问题删除。我已设置读写权限。通常,如果你忘记了这些,你的应用程序就会崩溃。我的按钮虽然设置好了,但没有任何作用。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />