본문 바로가기

모바일12

AMP : Accelerated Mobile Pages AMP는 지연없이 페이지에 바로 액세스 가능하게 하는 프레임워크로 다양한 웹기반의 기술을 사용해 모바일 웹의 성능을 높이기 위한 목적을 가지고 있다. AMP는 AMP Websites , Stories , Ads, Email 이 있으며, AMP Stories 에 대해서 알아보았다. AMP stories An open format for visual storytelling on mobile AMP 는 모바일 겨냥하여 개발되고 있고 데스크톱도 지원하고 있다. AMP Stories 는 open web으로 된 시각적인 스토리 텔링 도구라고 볼 수 있다. 전체 화면에서 이미지, 동영상, 그래픽, 오디오 등으로 정보를 전달하는 시각적 스토리텔링 도구로, 읽기 간편하고 시각적으로 풍부한 콘텐츠 제공한다. 주로 콘텐츠가.. 2021. 2. 21.
Android Studio , 채팅 구현하기 | Firebase realtime Database chat / 파이어베이스 실시간 데이터 베이스 채팅앱 구현에 다루어야 되는 게 엄청 많다. 사용자 목록(데이터베이스 읽기), 채팅방 리스트, 채팅방 리스트에 최신 메시지 나타내기, 타임스탬프, 채팅방 구현, 사용자 위치 등등.. 여기서 채팅의 핵심인 메시지 보내고 받는 부분을 상세하게 보여주고 마지막에 모든 코드를 보여드릴려고 한다. Android Studio Firebase - Realtime Database - Storage - Authentication 시나리오 채팅 메시지를 보낸다. 메시지를 받고 메시지를 보낸다. 메카니즘 전송 버튼을 누르면 상대방 아이디와 채팅한 적있는지 검사한다. : MessageActivity - chekChatRoom() 메시지를 보낸다. : MessageActivity - sendMsgToDataBase() 리싸이클.. 2021. 2. 7.
Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 트랜잭션 (Transaction), 좋아요 구현 시나리오 좋아요 버튼을 누른다 트랜잭션으로 실시간데이터베이스에 저장 데이터 트랜잭션으로 저장은 (좋아요) 증가 감소 카운터와 같이 동시 수정으로 동기화가 필요한 데이터를 다루는 경우 트랜잭션 작업을 사용 ex) 게시글에 별표주기, 게시글 별표 몇 개 받았는지 private void onStarClicked(DatabaseReference postRef) { postRef.runTransaction(new Transaction.Handler() { @Override public Transaction.Result doTransaction(MutableData mutableData) { Post p = mutableData.getValue(Post.class); if (p == null) { return Tr.. 2021. 1. 18.
Android Studio , 사진 가져오기 , Glide 휴대폰 내 사진첩에서 사진을 가져와서 Glide 을 적용하여 사진 형태를 원 형태로 보여주려고 한다. 1. 종속성 설정 dependencies { implementation 'com.github.bumptech.glide:glide:4.11.0' // Skip this if you don't want to use integration libraries or configure Glide. annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' } 2. 권한 설정 3. 로컬 사진첩으로 넘어간다. private int GALLEY_CODE = 10; /... Intent intent = new Intent(Intent.ACTION_PICK); inte.. 2021. 1. 8.
Android Studio , Firebase 파이어베이스 android 초기 설정 Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 여러 플랫품 중에서 Android로 시작 프로젝트 만들기 파이어베이스 프로젝트 화면 안드로이드 앱 등록 파이어 베이스 요건이다. API 수준 16(Jelly Bean) 이상 타겟팅 Gradle 4.1 이상 사용 다음 버전 요구사항을 충족하는 Jetpack(AndroidX) 사용 com.android.tools.build:gradle v3.2.1 이상 compileSdkVersion 28 이상 구글 로그인 등과 같은 기능을 사용하기 위해서는 디버그 서명 인증서의 SHA-1 해시를 받아야 된다. 상단은 앱의 패키지 명 SHA-1 인증서 지.. 2020. 12. 28.
Android Studio , XML 데이터 가져오기, JSON 데이터 가져오기 DOM 방식으로 XML 파일을 분석할 것이다. 문자열1 100 문자열2 200 1. 메니페스트 등록 9.0 이후는 application에서 android:usesCleartextTraffic="true" 추가 2. 쓰레드를 이용 public void btnXML(View view) //http 한줄식 받아오는 것 { Runnable runnable = new Runnable() { @Override public void run() { try{ String site = "http://(IP):8080/db/data.xml"; URL url = new URL(site); URLConnection conn = url.openConnection(); InputStream is2 = con.. 2020. 8. 18.
Android Studio , 화면 회전 시 처리 화면 회전 layout-port : 세로 화면 , layout-land : 가로 화면 UI Mode main.xml 를 layout land로 복붙 //화면 회전이 발생되면 호출되는 함수 @Override public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); //번들 outState 값이 onCreate의 파라메타(savedInstanceState)로 전달 outState.putString("data1", textView.getText().toString()); } @Override protected void onCreate(Bundle savedInstanceState) { super.. 2020. 8. 17.
Android Studio , SQLite SQLite는 데이터베이스 관리 시스템이지만 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 1. public class DBHelper extends SQLiteOpenHelper { public DBHelper(Context context){ super(context,"Test.db",null,1); //버전 수정 가능 } // 사용할 db가 없을 경우 db 파일 새롭게 만듬 // 자동 호출. 테이블 생성, 기타 필요한 작업업 @Override public void onCreate(SQLiteDatabase db) { //항상 최신구조 Log.d("test","db 생성"); String sql ="CREATE TABLE TestTable(" +"idx INTEGER PRIMARY KE.. 2020. 8. 14.
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.