앱27 Android Studio , 파일 저장 읽기, 내부 저장소 / 외부 저장소 저장소 내부 저장소 : 애플리케이션을 통해서만 접근 가능 외부 저장소 : 단말기 내부 공유 영역, 컴퓨터와 연결하면 탐색을 통해 접근 가능 1 내부 저장소 //내부 저장소와 연결되어 있는 쓰기 스트림 추출 //MODE_PRIVATE 파일 덮어쓰기 , MODE_APPEND 파일 새로 쓰기 FileOutputStream fos = openFileOutput("myFile.dat",MODE_PRIVATE); DataOutputStream dos = new DataOutputStream(fos); //데이터를 쓴다. dos.writeInt(100); dos.writeUTF("문자열"); dos.flush(); dos.close(); FileInputStream fis = openFileInput("myFile... 2020. 8. 11. Android Studio , ListFragment & DialogFragment Fragment 내에 ListView를 사용할 경우 보다 편리하게 구성할 수 있도록 제공되는 Fragment Listview의 id가 @android:id/list 로 설정되어 있을 경우 자동으로 ListView를 찾아 관리 ListFragment : ListView를 보다 쉽게 사용 (내 생각엔 한 화면에 짧게 리스트로 쓸 경우) ListView : 대량의 정보를 List로 화면에 띄울 경우 1. 2. public class SubFragment extends ListFragment { TextView text1; String[] list = {"항목1", "항목2","항목3"}; public SubFragment() { // Required empty public constructor } @Nulla.. 2020. 8. 7. Android Studio , Service & Intent Service & Forground Service Service 서비스 백그라운드 처리, 쓰레드와 다른 작업할 때 Activity는 화면을 가지고 있어 화면이 보이는 동안 동작 안드로이드 7버전은 서비스 액티비티(어플) 종료시 다시 쓰레드 동작 , 8이후는 종료 New -> serivce //쓰레드 추가 가능 //서비스가 가동될 때 호출되는 메서드 @Override public int onStartCommand(Intent intent, int flags, int startId) { return super.onStartCommand(intent, flags, startId); } //서비스가 중지되면 호출되는 메서드 @Override public void onDestroy() { super.onDestroy(); } serviceIntent = new .. 2020. 8. 5. Android Studio , 시스템 메시지 : BroadcastReceiver [문자 메시지 읽기] 1. 권한 설정 2. BroadcastReceiver 파일 생성 public class SystemReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //메니페스트의 인텐트 필터를 intent가 받는다. //안드로이드 os가 리시버를 찾기 위해 사용했던 이름을 추출한다. String action = intent.getAction(); //리시버의 이름으로 분기한다. switch (action) { case "android.intent.action.BOOT_COMPLETED" : Toast.makeText(context,"부팅완료",Toast.LENGTH_SHORT).show.. 2020. 8. 2. Android Studio , BroadCast Reciever 브로드캐스트 리시버 BroadCast Reciever ex)문자에 반응, 사용자의 요청이나 시스템에서 사건이 발생할 경우 개발자가 만든 코드를 동작 시킬수 있는 실행 단위 안드로이드 8 이상이면 암시적 인텐트를 코드로 등록하고 다른 앱에서 sendBroadcast(intent) 실행 1) BroadcastReceiver 상속 받는 java 파일 생성 file – new – other – broadcastreciever public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String str= "동작"; Toast t1 = Toast.makeText(context,str.. 2020. 8. 1. Android studio (안드로이드 스튜디오) Network 통신, retrofit2, stetho , 이클립스 서버와 통신 Android studio (안드로이드 스튜디오) Network 통신, retrofit2, stetho 이 글은 이클립스 서버와의 통신을 다룬다. Retrofit은 안드로이드에서 서버와의 통신을 위한 Square사의 라이브러리 HTTP API를 Java 인터페이스로 전환한다. 서버와의 통신을 할 때 AsyncTask 를 사용하지만 속도가 느리다는 단점이 있다. 그렇기 때문에 성능적으로 더 좋은 Restrofit 을 사용하려고 한다. Retrofit A type-safe HTTP client for Android and Java square.github.io stetho 라이브러리는 페이스북에서 개발된 안드로이드 디버깅 툴이다. build.gradle (:app) retrofit implementation.. 2020. 3. 17. Android studio (안드로이드 스튜디오) AsyncTask, Background 백그라운드 AsyncTask 안드로이드에서는 UI쓰레드를 정지 시켜 둘 수 없기 때문에, background 작업이 필요한 경우를 위해서 AsyncTask 지원 onPreExcute -background 작업이 시작하기 전에 호출 / 백그라운드 작업전 해야할 것 doInBackground -baackground 작업 구간 onProgressUpdate -doInBackground 이 실행되는 도중에 호출 / 중간중간 UI 업그레이드 하고 싶을 때 onPostExcute -doInBackground 가 완료 되면 호출이 된다. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConte.. 2020. 3. 16. Android studio (안드로이드 스튜디오) SharedPreference 초기 설정값 저장, 간단한 데이터 저장 용이 / GSON SharedPreference 간단한 데이터 저장 용이 보통 초기값,초기 설정값 등을 저장하는 데에 사용 경로 : data/data/pakageName/shared_prefs/이름 GSON 사용시 객체 저장 가능 MODE_PRIVATE 해당앱만 MODE_WORLD_READABLE 다른 앱에서 읽기 가능 MODE_WORLD_WRITABLE 다른 앱에서 쓰기 가능 //sf에 데이터 저장 SharedPreferences sharedPreferences = getSharedPreferences(sfName,MODE_PRIVATE); //(이름, 모드) SharedPreferences.Editor editor = sharedPreferences.edit(); //변화줄때 editor.putString(sfKey,.. 2020. 3. 15. Android studio (안드로이드 스튜디오) Pager, TabLayout/ 페이저, 탭레이아웃 1. gradle implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.cardview:cardview:1.0.0' 2. PagerAdater.java / FragementOne.java , …Two.. (형성할 탭 개수만큼) 3. 프라그먼트에 맞는 xml 파일 (형성할 탭 개수만큼) viewPager = findViewById(R.id.view_layout); tabLayout = findViewById(R.id.tab_layout); //탭이름 설정 tabLayout.addTab(tabLayout.newTab().setText("프로필")); .. //어댑터 연결 PagerAdapter pagerAdap.. 2020. 3. 12. Android studio (안드로이드 스튜디오) RecyclerVIew , 클릭, 화면전환 - 응용편 Android studio (안드로이드 스튜디오) RecyclerVIew , 클릭ClickListener, 화면전환(intent) 앱에서 대량의 데이터 세트 또는 자주 변경되는 데이터에 기반한 요소의 스크롤 목록을 표시해야 할때 주로 리사이클러뷰가 사용된다. RecyclerView 는 ListView 보다 더 진보하고 유연해진 버전이다. 지원라이브러리 추가 dependencies { implementation 'com.android.support:recyclerview-v7:28.0.0' } 메니페스트에 추가 package com.example.recyclerview; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatA.. 2020. 3. 10. Android studio (안드로이드 스튜디오) RecyclerView 리사이클러뷰 , v7 , Jetpack (androidx) v7 지원 라이브러리 리사이클러뷰 예시 developer.android.com/guide/topics/ui/layout/recyclerview RecyclerView로 목록 만들기 | Android 개발자 | Android Developers RecyclerView를 사용하여 동적 콘텐츠의 목록과 그리드를 표시합니다. developer.android.com import java.util.ArrayList; public class MainActivity extends AppCompatActivity { public RecyclerView recyclerView; ArrayList itemList; @Override protected void onCreate(Bundle savedInstanceState) .. 2020. 3. 9. Android studio (안드로이드 스튜디오) ListVIew, BaseAdapter, headerview, footerview / Spoon라디오 처럼 구현해보기 리스트뷰 스크롤이동시 -> 리스트가 빠져나가 어댑터로 -> 어댑터는 리스트뷰를 TextVIew에 임시저장(뷰 비워둠) -> 재활용 메인.java public class MainActivity extends AppCompatActivity { ArrayList list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = findViewById(R.id.List_view); addList(); //headerview, footerview LayoutInflater layoutI.. 2020. 3. 5. 이전 1 2 3 다음