본문 바로가기

Android

(19)
[Gmail API] Label Update 폴더명 수정하기 public static void updateMailLabel(Context context, Account account, List mailIds, List addLebelIds, List removeLabelIds, GmailNetworkListener listener) { try { GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, Collections.singleton(MAIL_SCOPE)); credential.setSelectedAccount(account); Gmail service = new Gmail.Builder(HTTP_TRANSPORT, JSON_FACTORY, creden..
[Gmail API] Load Mail Attachment Info 메일에 들어가는 첨부파일은 2가지로 구분할 수 있음 1. inline image 본문내에 이미지가 들어가있는 경우, 이미지의 파일 정보는 attachment로 따로 빠져있음. 메일 본문의 이미지를 보여주려면 인라인 이미지를 로드한 다음 base64로된 이미지 정보를 태그로 넣어서 표현해야함. 2. attachment file 첨부를 통한 file이며, 확장자에 상관없이 메일에 포함된 첨부파일. 이 첨부 파일 정보 또한 메일 detail info를 부르더라도 파일의 이름이나 사이즈 같이 간략한 정보만 제공되고 다운로드 기능과 연결할 시에는 attachment 정보를 로드해야함. public static void loadMailAttachment(Context context, Account account, ..
[Gmail API] Load Mail Detail Info 메일 목록에서 받는 정보는 간략한 정보들로 구성되어있지만 메일을 눌러서 내용을 볼 때엔 상세정보가 필요함 public static void loadMailDetail(Context context, Account account, String mailId, GmailNetworkListener listener) { try { GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, Collections.singleton(MAIL_SCOPE)); credential.setSelectedAccount(account); Gmail service = new Gmail.Builder(HTTP_TRANSPORT, JSON_FACT..
[Gmail API] MailList 코드 정리를 하지는 못했지만,, 중요한 부분들이 가장 많은 부분임. 1. mail filter query 넣는 방법 2. batch를 통해 과도한 API를 호출하지 않는 방법 3. 페이징 처리를 하는 방법 public static void loadMailList(Context context, Account account, List labelIds, long maxResults, String nextPageToken, String filter, GmailNetworkListener listener) { try { GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, Collections.singleton(MAIL_..
[Gmail API] Label(Folder or Group) List // 원하는 코드 입력 private static final String MAIL_SCOPE = "https://mail.google.com/"; Gmail에서는 메일 폴더들을 Label이라고 지칭. 메일 리스트를 가져오기위해선 먼저 Label들의 정보를 알아야 함. private static final String MAIL_SCOPE = "https://mail.google.com/"; private static final HttpTransport HTTP_TRANSPORT = AndroidHttp.newCompatibleTransport(); private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance(); publ..
Android Studio Splash(Lanunch) image 띄우기 필자는 통짜 웹뷰 앱을 만들고 있으므로 웹뷰 기반의 스플래시 이미지를 설명하도록 하겠다 activity_main.xml이미지뷰와 웹뷰를 뷰에 설정함이때 android:visibility="visible" or "gone"이 중요함앱을 띄우자마자 웹뷰말고 스플래시 이미지뷰를 먼저 보이기 위함 MainActivity.javaonCreate함수에는 기본적인 웹뷰 설정과 함께 원하는 url을 로드해줌빨간글씨의 setWebViewClient가 중요함여기서 웹뷰에 대한 구체적인 설정들을 할수가 있음(외부연결링크, 외부앱연결, 마켓연결, 페이지로드상태체크 등등)@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta..
Android Launch image 팅김 안드로이드 첫 시작시 나오는 스플래시 이미지의 크기를 ios 크기에 맞춰서 크게 잡았더니 크래시가 발생함 스플래시의 이미지의 픽셀이 너무 높을 경우 일부기기에서 로딩을 하지 못하는 현상으로 크래시가 발생 아래의 에러코드를 살펴보면 잡다한게 많지만 이미지를 그리지 못한다는 메세지가 다수 보임 해결 방법 : 안드로이드 화면크기의 픽셀크기로 splash 이미지로 만들어야함 [Google Play Console에서 남겨진 비정상 종료 로그]java.lang.RuntimeException: at android.view.DisplayListCanvas.throwIfCannotDraw (DisplayListCanvas.java:260) at android.graphics.Canvas.drawBitmap (Canvas..
Android Studio 3.0.1 webview [Android] Android Studio 3.0.1 WebView 이용 1. 메니페스트 설정 위에 인터넷을 이용하겠다는 퍼미션을 등록해줘야 함. 2. 화면.xml 설정 화면을 꽉 채우는 형태로 넣어 봄. 3. Activity.java 설정public WebView mWebview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebview = (WebView) findViewById(R.id.screen_main); WebSettings webSettings = mWebview.getSettings..