Я большой любитель в этом, поэтому я заранее извиняюсь, если это обсуждалось раньше, и я не использовал правильные условия поиска, чтобы найти свой ответ. Любая помощь приветствуется.
Я пытаюсь сделать очень простое приложение с кнопкой «Назад», кнопкой «Далее», файлом изображения и подписью для каждого изображения, причем кнопки используются для перехода от одной пары изображение/заголовок к следующей или назад. Все изображения находятся в папке «Изображения» в главном каталоге телефона, все подписи представляют собой последовательно пронумерованные текстовые строки.
Я получил подписи для правильного взаимодействия с кнопками, но не могу заставить изображения работать правильно. Я даже не могу отобразить первое изображение в ImageView, возможно, потому, что я использую неправильный путь к файлу или неправильные команды изображения.
jpg пронумерованы от 0 до 25, простые имена файлов (0.jpg 1.jpg и т. д.). Я сделал один, который работал на Android 2.3, но не могу понять его для 4.4.4.
Я установил свой первоначальный TextView для отображения результатов Environment.getExternalStorageDirectory(), надеясь, что это позволит правильно указать путь к моему файлу. Я пробовал с этой командой и с текстом возвращаемого пути к файлу, как показано в моих // комментариях в коде. К сожалению, ни один из них не работал. Комментарии беспорядочные, потому что я новичок в этом и просто сохранял для себя возможные варианты кода.
Я использовал bitmapDrawable и путь к файлу /sdcard/ в моей версии, которая работала на моем более раннем Android. И я прочитал около 15-20 из этих вопросов imageView, пробуя разные решения, но пока безуспешно.
Я надеюсь, что этой информации достаточно. Если кто-то может мне помочь, я был бы очень признателен.
public class MainActivity extends ActionBarActivity {
ImageView image;
Button next02, back02;
TextView output01;
int test = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
output01 = (TextView) findViewById(R.id.output);
next02 = (Button) findViewById(R.id.next);
next02.setOnClickListener(advance01);
back02 = (Button) findViewById(R.id.back);
back02.setOnClickListener(retreat01);
output01.setText("Test");
ImageView image01 = (ImageView) findViewById(R.id.picture);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 3;
String myJPGPath = Environment.getExternalStorageDirectory() + "/Pictures/00.JPG";
Bitmap d = BitmapFactory.decodeFile(myJPGPath);
image01.setImageBitmap(d);
output01.setText(myJPGPath);
// String myJpgPath = Environment.getExternalStorageDirectory().toString() + "/0.jpg";
// String myJpgPath = "/storage/emulated/0/Pictures/0.jpg";
// File myfile = new File(myJpgPath);
// output01.setText(myJpgPath);
// BitmapDrawable d = new BitmapDrawable(getResources(), myJpgPath);
// image01.setImageDrawable(d);
// Bitmap d = BitmapFactory.decodeFile(myfile.getAbsolutePath());
// Bitmap d = BitmapFactory.decodeFile("/storage/emulated/0/0.jpg");
// image01.setImageBitmap(d);
}
public OnClickListener advance01 = new OnClickListener() {
public void onClick (View v) {
test++;
if (test == 1) {
output01.setText(text1);
К сожалению, вот logcat - похоже, у меня проблема с разрешениями, но изображение не настроено только для чтения. Есть еще несколько проблем - может быть, я просто начну с нуля:
01-03 10:16:55.892 16614-16614/com.test.test I/dalvikvm﹕ Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
01-03 10:16:55.892 16614-16614/com.test.test W/dalvikvm﹕ VFY: unable to resolve virtual method 11346: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
01-03 10:16:55.892 16614-16614/com.test.test D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
01-03 10:16:55.893 16614-16614/com.test.test I/dalvikvm﹕ Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
01-03 10:16:55.893 16614-16614/com.test.test W/dalvikvm﹕ VFY: unable to resolve virtual method 11352: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
01-03 10:16:55.893 16614-16614/com.test.test D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000
01-03 10:16:55.894 16614-16614/com.test.test I/dalvikvm﹕ Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
01-03 10:16:55.894 16614-16614/com.test.test W/dalvikvm﹕ VFY: unable to resolve virtual method 9040: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
01-03 10:16:55.894 16614-16614/com.test.test D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e
01-03 10:16:55.899 16614-16614/com.test.test I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
01-03 10:16:55.899 16614-16614/com.test.test W/dalvikvm﹕ VFY: unable to resolve virtual method 364: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
01-03 10:16:55.900 16614-16614/com.test.test D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
01-03 10:16:55.900 16614-16614/com.test.test I/dalvikvm﹕ Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
01-03 10:16:55.900 16614-16614/com.test.test W/dalvikvm﹕ VFY: unable to resolve virtual method 386: Landroid/content/res/TypedArray;.getType (I)I
01-03 10:16:55.900 16614-16614/com.test.test D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0002
01-03 10:16:55.934 16614-16614/com.test.test E/BitmapFactory﹕ Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/Pictures/0.jpg: open failed: EACCES (Permission denied)
01-03 10:16:56.015 16614-16614/com.test.test I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:381>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_KK_2.7_RB1.04.04.04.007.066_msm8960_KK_2.7_RB1__release_AU ()
OpenGL ES Shader Compiler Version: 17.01.12.SPL
Build Date: 09/11/14 Thu
Local Branch: mybranch4451390
Remote Branch: quic/kk_2.7_rb1.43
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_KK_2.7_RB1.04.04.04.007.066 + 73685fa + 87c0666 + c4bc670 + 6154422 + 594ea9d + NOTHING
01-03 10:16:56.062 16614-16614/com.test.test D/OpenGLRenderer﹕ Enabling debug mode 0