2017-11-02 12 views
-1

可能であれば、これとAndroid開発には全く新しいものが必要です。私は現時点でAndroid用の最初のアプリケーションを開発しており、コーディングの経験はほとんどありません...私は基本的に、sqliteデータベースとの間でユーザーを追加/削除/更新できるようになっているアプリケーションがあります。メインのホームページにボタンを追加して、カメラにアクセスして写真を撮る方法を探しています。主な活動は、単に削除/などを追加するためのボタンが付いたページです:私のアプリケーション内からボタンをクリックしてカメラを呼び出す

public class MainActivity extends AppCompatActivity { 

private static final String TAG = "MainActivity"; 

DatabaseHelper mDatabaseHelper; 
private Button btnAdd, btnViewData; 
private EditText editText; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    editText = (EditText) findViewById(R.id.editText); 
    btnAdd = (Button) findViewById(R.id.btnAdd); 
    btnViewData = (Button) findViewById(R.id.btnView); 
    mDatabaseHelper = new DatabaseHelper(this); 

    btnAdd.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String newEntry = editText.getText().toString(); 
      if (editText.length() != 0) { 
       AddData(newEntry); 
       editText.setText(""); 
      } else { 
       toastMessage("Please enter a name!"); 
      } 

     } 
    }); 

    btnViewData.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(MainActivity.this, ListDataActivity.class); 
      startActivity(intent); 
     } 
    }); 

} 

public void AddData(String newEntry) { 
    boolean insertData = mDatabaseHelper.addData(newEntry); 

    if (insertData) { 
     toastMessage("User Added!"); 
    } else { 
     toastMessage("Something went wrong"); 
    } 
} 

/** 
* customizable toast 
* @param message 
*/ 
private void toastMessage(String message){ 
    Toast.makeText(this,message, Toast.LENGTH_SHORT).show(); 




} 
} 

カメラを実現するために、私が持っているコードは以下の通りである(それはカメラを起動して写真を撮るためだけの外側のカメラからの作品アプリケーション)

は可能です私は私が

public class MainActivity extends AppCompatActivity { 

public void getPhoto() { 
    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    startActivityForResult(intent, 1); 
} 

@Override 
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 

    if (requestCode == 1) { 


     if (grantResults.length > 0 && grantResults[0] == PackageManager. PERMISSION_GRANTED){ 

      getPhoto(); 

     } 
    } 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { 

     requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1); 

    } else{ 

     getPhoto(); 
    } 




} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 


    if (requestCode == 1 && resultCode == RESULT_OK && data != null) { 

     try { 
      Uri selectedImage = data.getData(); 

      Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage); 

      ImageView imageView = (ImageView) findViewById(R.id.imageView); 
      imageView.setImageBitmap(bitmap); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
} 
0123)

(コードカメラを起動するためのアプリケーション内から「写真を撮る」ことを可能にする主な活動ページ上だけボタンに

ご迷惑をおかけして申し訳ありませんが、Android開発に完全に新しく、コーディングに新しいので、私は非常に不明です。

+2

何が欲しいですか? – Anonymous

+0

奇妙な問題。あなたはすでにたくさんのボタンを持っています。それがそこでどのように行われるか見てみましょう。 .xmlレイアウトファイルR.layout.activity_mainに余分なボタンを追加するだけです。その後、onCreate()に小さなコードを追加します。新しいボタンのonClickListenerを追加します。 – greenapps

+0

問題は何ですか?ちょうどxmlにボタンを追加し、そのクリックでカメラの意図を発動します。 – ADM

答えて

0

は、私はあなたが探しているものについてはよく分からないが、ここで写真撮影するコードです:ボタンを追加するには https://developer.android.com/training/camera/photobasics.html

を、あなたはレイアウトでそれを追加する必要があり、その後、あなたの参照を取得しますfindViewByIdメソッドを使用したアクティビティクラス

ホープのこのヘルプ

+0

[OK]をおかげで、私は基本的には、クリックすると写真を撮るためにXMLファイルに新しいボタンを追加しました:btnTakePhoto.setOnClickListener(新View.OnClickListener(){@Override ます。public void onClickの(ビューV){ テントの意図=新しいです(インテント、1); } });ボタンをクリックするとカメラにアクセスできるようになり、写真を撮ることができるようになりました。私のアプリに画像を保存する方法を見つけ出す必要があります。もう一度感謝します。 – Simon27

関連する問題