- Posts no fórum: 2
03/07/2015, 02:35:36 via Web
03/07/2015 02:35:36 via Web
Galera, estou com um problema que não consigo achar a solução, minha saída é vocês, estou tentando inserir uma foto e mostrar ela, porém ela é um pouco grande, só consegui fazer com umas fotos de pouquissimos kb quando tem mais de 30 kb não consigo.
esse é o erro:
07-03 00:36:43.270: E/AndroidRuntime(2356): FATAL EXCEPTION: main
07-03 00:36:43.270: E/AndroidRuntime(2356): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=5678, result=-1, data=Intent { dat=file:///storage/emulated/0/Download/6DfNDvlIZlVoxfGh2TxMlYvaOlIAGMgNivhqVkuL5jP5yYNMY4c0ZwSkXuhAGf1A7OKdj6RePK-cjGs99lLaQJ-MSYaDryj5dvJZT8pvvwI9NfynLts=w256-h256-nc.png }} to activity {br.com.igorfastroni.seek/br.com.igorfastroni.seek.CadastrarActivity}: java.lang.NullPointerException
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.app.ActivityThread.deliverResults(ActivityThread.java:3319)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3362)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.app.ActivityThread.access$1100(ActivityThread.java:141)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.os.Handler.dispatchMessage(Handler.java:99)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.os.Looper.loop(Looper.java:137)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.app.ActivityThread.main(ActivityThread.java:5041)
07-03 00:36:43.270: E/AndroidRuntime(2356): at java.lang.reflect.Method.invokeNative(Native Method)
07-03 00:36:43.270: E/AndroidRuntime(2356): at java.lang.reflect.Method.invoke(Method.java:511)
07-03 00:36:43.270: E/AndroidRuntime(2356): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-03 00:36:43.270: E/AndroidRuntime(2356): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-03 00:36:43.270: E/AndroidRuntime(2356): at dalvik.system.NativeStart.main(Native Method)
07-03 00:36:43.270: E/AndroidRuntime(2356): Caused by: java.lang.NullPointerException
07-03 00:36:43.270: E/AndroidRuntime(2356): at br.com.igorfastroni.seek.CadastrarActivity.onActivityResult(CadastrarActivity.java:333)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.app.Activity.dispatchActivityResult(Activity.java:5293)
07-03 00:36:43.270: E/AndroidRuntime(2356): at android.app.ActivityThread.deliverResults(ActivityThread.java:3315)
07-03 00:36:43.270: E/AndroidRuntime(2356): ... 11 more
E Esse é minha classe
package br.com.igorfastroni.seek;
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.Toast;
public class CadastrarActivity extends Activity {
private ImageView ivSelectedImage;
private static final int REQUEST_CODE = 5678;
// private static final int REQUEST_CODE = 1000005678;
private List<String> cursos = new ArrayList<String>();
private String curso;
private List<String> materias = new ArrayList<String>();
private String materia;
private String m1;
private String m2;
private String m3;
private String m4;
private String m5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cadastrar);
final EditText edNome = (EditText) findViewById(R.id.edtNome);
final EditText edtLogin = (EditText) findViewById(R.id.edtLogin);
final EditText edtPass = (EditText) findViewById(R.id.edtPass);
final Spinner spnCurso = (Spinner) findViewById(R.id.spinner1);
final Spinner spnM1 = (Spinner) findViewById(R.id.spnM1);
final Spinner spnM2 = (Spinner) findViewById(R.id.spnM2);
final Spinner spnM3 = (Spinner) findViewById(R.id.spnM3);
final Spinner spnM4 = (Spinner) findViewById(R.id.spnM4);
final Spinner spnM5 = (Spinner) findViewById(R.id.spnM5);
// Adicionando os cursos no ArrayList
cursos.add("Ciência da Computação");
cursos.add("Engenharia da Computação");
// Adicionando as materias no ArrayList
materias.add("Algoritmos");
materias.add("Cálculo: Limite e Derivada");
materias.add("C");
// Cria um ArrayAdapter usando um padrão de layout da classe R do
// android, passando o ArrayList cursos
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, cursos);
ArrayAdapter<String> spinnerArrayAdapter = arrayAdapter;
spinnerArrayAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_item);
spnCurso.setAdapter(spinnerArrayAdapter);
// Cria um ArrayAdapter usando um padrão de layout da classe R do
// android, passando o ArrayList materias
ArrayAdapter<String> arrayAdapterMaterias = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_dropdown_item, materias);
ArrayAdapter<String> spinnerArrayAdapterM1 = arrayAdapterMaterias;
spinnerArrayAdapterM1
.setDropDownViewResource(android.R.layout.simple_spinner_item);
spnM1.setAdapter(spinnerArrayAdapterM1);
// Cria um ArrayAdapter usando um padrão de layout da classe R do
// android, passando o ArrayList materias
// ArrayAdapter<String> arrayAdapterMaterias = new
// ArrayAdapter<String>(this,
// android.R.layout.simple_spinner_dropdown_item, materias);
ArrayAdapter<String> spinnerArrayAdapterM2 = arrayAdapterMaterias;
spinnerArrayAdapterM2
.setDropDownViewResource(android.R.layout.simple_spinner_item);
spnM2.setAdapter(spinnerArrayAdapterM2);
// Cria um ArrayAdapter usando um padrão de layout da classe R do
// android, passando o ArrayList materias
// ArrayAdapter<String> arrayAdapterMaterias = new
// ArrayAdapter<String>(this,
// android.R.layout.simple_spinner_dropdown_item, materias);
ArrayAdapter<String> spinnerArrayAdapterM3 = arrayAdapterMaterias;
spinnerArrayAdapterM3
.setDropDownViewResource(android.R.layout.simple_spinner_item);
spnM3.setAdapter(spinnerArrayAdapterM3);
// Cria um ArrayAdapter usando um padrão de layout da classe R do
// android, passando o ArrayList materias
// ArrayAdapter<String> arrayAdapterMaterias = new
// ArrayAdapter<String>(this,
// android.R.layout.simple_spinner_dropdown_item, materias);
ArrayAdapter<String> spinnerArrayAdapterM4 = arrayAdapterMaterias;
spinnerArrayAdapterM4
.setDropDownViewResource(android.R.layout.simple_spinner_item);
spnM4.setAdapter(spinnerArrayAdapterM4);
// Cria um ArrayAdapter usando um padrão de layout da classe R do
// android, passando o ArrayList materias
// ArrayAdapter<String> arrayAdapterMaterias = new
// ArrayAdapter<String>(this,
// android.R.layout.simple_spinner_dropdown_item, materias);
ArrayAdapter<String> spinnerArrayAdapterM5 = arrayAdapterMaterias;
spinnerArrayAdapterM5
.setDropDownViewResource(android.R.layout.simple_spinner_item);
spnM5.setAdapter(spinnerArrayAdapterM5);
// Método do Spinner para capturar o item selecionado
spnCurso.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int posicao, long id) {
// pega nome pela posição
curso = parent.getItemAtPosition(posicao).toString();
// imprime um Toast na tela com o nome que foi selecionado para
// teste!!
// Toast.makeText(CadastrarActivity.this, "Nome Selecionado: " +
// curso, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// TESTE
// Método do Spinner para capturar o item selecionado MATERIA
spnM1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int posicao, long id) {
// pega nome pela posição
m1 = parent.getItemAtPosition(posicao).toString();
// imprime um Toast na tela com o nome que foi selecionado para
// teste!!
// Toast.makeText(CadastrarActivity.this, "Nome Selecionado: " +
// curso, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// TESTE
// Método do Spinner para capturar o item selecionado MATERIA
spnM2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int posicao, long id) {
// pega nome pela posição
m2 = parent.getItemAtPosition(posicao).toString();
// imprime um Toast na tela com o nome que foi selecionado para
// teste!!
// Toast.makeText(CadastrarActivity.this, "Nome Selecionado: " +
// curso, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// TESTE
// Método do Spinner para capturar o item selecionado MATERIA
spnM3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int posicao, long id) {
// pega nome pela posição
m3 = parent.getItemAtPosition(posicao).toString();
// imprime um Toast na tela com o nome que foi selecionado para
// teste!!
// Toast.makeText(CadastrarActivity.this, "Nome Selecionado: " +
// curso, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// TESTE
// Método do Spinner para capturar o item selecionado MATERIA
spnM4.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int posicao, long id) {
// pega nome pela posição
m4 = parent.getItemAtPosition(posicao).toString();
// imprime um Toast na tela com o nome que foi selecionado para
// teste!!
// Toast.makeText(CadastrarActivity.this, "Nome Selecionado: " +
// curso, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// TESTE
// Método do Spinner para capturar o item selecionado MATERIA
spnM5.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v,
int posicao, long id) {
// pega nome pela posição
m5 = parent.getItemAtPosition(posicao).toString();
// imprime um Toast na tela com o nome que foi selecionado para
// teste!!
// Toast.makeText(CadastrarActivity.this, "Nome Selecionado: " +
// curso, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// TESTE
Button btCadastro = (Button) findViewById(R.id.btCadastro);
Button btSelect = (Button) findViewById(R.id.btSelect);
ivSelectedImage = (ImageView) findViewById(R.id.ivSelectedImage);
btSelect.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(
Intent.createChooser(intent, "Select Picture"),
REQUEST_CODE);
}
});
btCadastro.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Bitmap bitmap = ((BitmapDrawable) ivSelectedImage.getDrawable())
.getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
AlunoDAO dao = new AlunoDAO();
Aluno user = new Aluno();
user.setNome(edNome.getText().toString());
user.setLogin(edtLogin.getText().toString());
user.setPass(edtPass.getText().toString());
user.setCurso(curso.toString());
user.setM1(m1.toString());
user.setM2(m2.toString());
user.setM3(m3.toString());
user.setM4(m4.toString());
user.setM5(m5.toString());
user.setFoto(byteArray);
user = dao.inserirUsuario(user);
if (user != null) {
finish();
} else {
Toast.makeText(CadastrarActivity.this, "Erro no Cadastro",
Toast.LENGTH_LONG).show();
}
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && data != null
&& data.getData() != null) {
Uri uri = data.getData();
Cursor cursor = getContentResolver()
.query(uri,
new String[] { android.provider.MediaStore.Images.ImageColumns.DATA },
null, null, null);
cursor.moveToFirst();
final String imageFilePath = cursor.getString(0);
cursor.close();
Bitmap bitmap = BitmapFactory.decodeFile(imageFilePath);
ivSelectedImage.setImageBitmap(bitmap);
}
}
}
```
— alterado em 03/07/2015, 02:37:05
Conteúdo editorial recomendado
Com o seu consentimento, o conteúdo externo é carregado aqui.
Ao clicar no botão acima, concorda que o conteúdo externo poderá ser-lhe exibido. Os dados pessoais podem ser transmitidos a fornecedores terceiros no processo. Pode encontrar mais informações sobre isto no nosso Política de Privacidade.