EditFragment.java @Override // 이미지 결과 출력 public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if( requestCode == REQ_CODE_IMAGE && data != null){ Uri imageUri = data.getData(); // Intent에서 받아온 갤러리 URI String selections[] = { MediaStore.Images.Media.DATA}; // 실제 이미지 패스 데이터 if( Build.VERSION.SDK_INT < Build.VERSION_CODE..
테스트 코드를 작성하여 APP의 퍼포먼스를 확인해보자. Tools : SDK TOOLS / traceview.bat keyword : Debug.startMethodTracing("TraceFileName"); Debug.stopMethodTracing(); 테스트 코드 작성MainActivity.java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Debug.startMethodTracing("TraceRe..
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 public class DBHelper extends SQLiteOpenHelper { public static final String name = "DBHelper.sqlite"; public static final int DB_VERSION = 2; // 개발자가 버전관리 ArrayList backUpDatas = new ArrayList(); private static DBHelper dbHelper = null; // ..
public class Dbconnect { public static final String DB_NAME = "sqlite.sqlite"; public static void init(Context context){ // 파일 확인 및 생성 File file = new File(getFullpath(context)); if(!file.exists()){ assetToDisk(context); } } public static SQLiteDatabase openDb(Context context){ //DB 연결 return SQLiteDatabase.openDatabase(getFullpath(context),null,0); } public static String getFullpath(Context con..
MainActivitypublic void onFragmentInteraction(Fragment fragment) { if (fragment instanceof BlankTwoFragment){ Toast.makeText(MainActivity.this, "BlankTwoFragment", Toast.LENGTH_SHORT).show(); } else if (fragment instanceof BlankFragment) { Toast.makeText(MainActivity.this, "BlankFragment", Toast.LENGTH_SHORT).show(); } }interface OnFragmentInteractionListenerinterface OnFragmentInteractionListen..
MainActivity.java123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 public class MainActivity extends AppCompatActivity { public ArrayList datas = null; private final static int REQUEST_CODE =100 ; @Override protected void onCreate(Bundle..
개발자 -> androidManifest.xml(권한설정) Phone 마시멜로우 이상 xxx.class 권한설정 ( 사용자가 팝업창을 확인하고 허용 버튼 클릭시 권한 허용) // 1. 유효성체크 - 권한을 획득하기 전 // checkSelfPermission() // 2. 권한에 대한 부가적인 설명이 필요할 경우 호출 // shouldShowRequestPermissionRationale(); // 3. 권한을 획득하기 위해 호출 // requestPermissions(); // 완료 후 최종 결과값을 처리하는 callback 함수가 자동으로 호출된다. // onRequestPermissionsResult(); 참조 : https://developer.android.com/guide/topics/secu..
// Pixel 에서 DP로 변환 public int pxToDp(Context context, int px){ DisplayMetrics metrics = context.getResources().getDisplayMetrics(); int dp = Math.round(px / (metrics.xdpi / metrics.DENSITY_DEFAULT)); return dp; } // Dp에서 Pixel로 변환 public int dpToPx(Context context, int dp){ DisplayMetrics metrics = context.getResources().getDisplayMetrics(); int px = Math.round(dp * (metrics.xdpi / metrics.DENSI..
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 버전별 분기 처리 if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ){ }else if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ){ }else if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT ){ } } }
ProgressBar probar = (ProgressBar) findViewById(R.id.progressBar); Switch proSwitch = (Switch) findViewById(R.id.proSwitch); // OnCheckedChangeListener 를 이용하여 변화 확인 proSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (buttonView.isChecked()){ tv.setText("스위치 ON"); probar.setV..
퍼미션 설정 테마 변경 설정 1. 상단 bar 없는 테마로 변경 2. RelativeLayout 의 padding 없애기 3. manifast.xml 퍼미션 설정 Main Activity public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView webview = (WebView) findViewById(R.id.webView); //webview.setWebViewClient(new WebViewClient..
BroadCast Sender /Receiver sender 는 방송 보내기receiver는 sender에서 보낸 방송메세지를 잡아 원하는 로직을 처리. 서로 다른 APP 에서 적용 가능. Sender 프로젝트와 Receiver 프로젝트 생성. Sender MainActivity.java public class MainActivity extends AppCompatActivity { static final String BROADCAST_ACTION = "com.hm.android.action"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.la..