ImageView Picasso, Glide Library 사용. Picasso : http://square.github.io/picasso/ Glide : https://github.com/bumptech/glide Manifast.xml gradle compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.squareup.picasso:picasso:2.5.2' Mainactivity.java( Picasso )1234567891011121314151617181920212223242526272829303132333435public class MainActivity extends AppCompatActivity { ImageView imageView;..
웹서버 구성 : pache tomcat 설치 cookie 테스트 사이트 : 192.168.0.171/setcookie.jsp manifast : MainActivity.java public class MainActivity extends AppCompatActivity { TextView textResult; Button signBtn; EditText editId,editPw; ProgressDialog progress; SharedPreferences sp; SharedPreferences.Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo..
HTTP URL Connection 안드로이드 APP 에서 웹서버 에 GET 요청을 하는 방법. apache tomcat 설치 후 테스트 페이지를 미리 만들어 놓았다.C:\Devtools\Tomcat 8.5\webapps\ROOT/HTTP_test.html HTTP_test.html 간단한 내용 입력. java 코드 작성 MainActivity.javapublic class MainActivity extends AppCompatActivity { TextView textView; final String TARGET_URL = "http://192.168.0.171/HTTP_test.html"; @Override protected void onCreate(Bundle savedInstanceState) {..
Open API 를 이용하여 서울시 실시간 지하철 도착정보를 받아보자. 오픈 API 는 서울시 오픈 API를 이용하였다. 1. 서울시 오픈 API 회원가입 및 원하는 API 선택2. 링크 복사3. 링크의 xml 또는 json 확인4. 파싱하는 소스 구현5. 결과 확인 http://data.seoul.go.kr/index.jsp 회원가입 > 오픈 데이터 > 오픈 API 원하는 API 검색 해당 API 선택 API 링크 복사 > 중간에 (인증키) 는 회원가입 후 인증키 발급을 받을 수 있다. 연습중에는 sample로 구현 링크를 sample로 변경 후 해당 데이터를 확인 가능하다. XML 파일로 확인됨. http://swopenapi.seoul.go.kr/api/subway/sample/xml/realtim..
안드로이드 키보드 내리기 함수 구현 . protected void keyBoardOff() { // 키보드 내리기 View view = getActivity().getCurrentFocus(); InputMethodManager mgr = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); mgr.hideSoftInputFromWindow(view.getWindowToken(), 0); }
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 ){ } } }