비디오: [앱으로 여는 세상] 공공기관 앱 특집 2024
Android 장치에서 작동 할 Twitter 응용 프로그램을 개발하는 데는 몇 가지 단계가 있습니다. 해결해야 할 한 가지는 응용 프로그램의 주요 활동입니다. 다음 코드는 Twitter 응용 프로그램의 Java 코드를 포함합니다.
package com. allmycode. 지저귀다; 안드로이드 가져 오기. 앱. 활동; 안드로이드 가져 오기. OS. AsyncTask; 안드로이드 가져 오기. OS. 묶음; 안드로이드 가져 오기. 본문. 편집 가능; 안드로이드 가져 오기. 본문. TextWatcher; 안드로이드 가져 오기. 본문. 방법. ScrollingMovementMethod; 안드로이드 가져 오기. 전망. 전망; 안드로이드 가져 오기. 위젯. EditText; 안드로이드 가져 오기. 위젯. TextView; import java. util. 명부; import twitter4j. 지저귀다; import twitter4j. TwitterException; import twitter4j. TwitterFactory; import twitter4j. conf. ConfigurationBuilder; 공용 클래스 MainActivity는 Activity {TextView textViewCountChars, textViewTimeline; EditText editTextTweet, editTextUsername; 트위터 트위터; @Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (레이아웃. activity_main); editTextTweet = (EditText) findViewById (R. id. editTextTweet); editTextTweet. addTextChangedListener (새로운 MyTextWatcher ()); textViewCountChars = (TextView) findViewById (텍스트 ID 수: textViewCountChars); editTextUsername = (EditText) findViewById (R. id. editTextUsername); textViewTimeline = (TextView) findViewById (텍스트 IDTextView); textViewTimeline. setMovementMethod (새로운 ScrollingMovementMethod ()); ConfigurationBuilder 빌더 = 새 ConfigurationBuilder (); 빌더. setOAuthConsumerKey ("01qedaqsdtdemrVJIkU1dg"). setOAuthConsumerSecret ("TudeMgXgh37Ivq173SNWnRIhI"). setOAuthAccessToken ("1385541-ueSEFeFgJ8vUpfy6LBv6"). setOAuthAccessTokenSecret ("G2FXeXYLSHI7XlVdMsS2e"); TwitterFactory factory = 새로운 TwitterFactory (빌더. 빌드 ()); 트위터 = 공장. getInstance ();} // 버튼 클릭 리스너 public void onTweetButtonClick (뷰보기) {new MyAsyncTaskTweet (). onTimelineButtonClick (보기보기) {new MyAsyncTaskTimeline (). 트윗 필드 클래스의 문자 수를 계산 MyTextWatcher는 TextWatcher를 구현합니다. {@Override public void afterTextChanged (Editable s) {textViewCountChars.오버라이드 (override): 클래스 Object 내의 toTextChanged 반환 값: 오버라이드 (override): 클래스 Object 내의 toTextChanged 오버라이드 (override): 클래스 Object 내의 toTextChanged 오버라이드 (override): 클래스 Object 내의 toTextChanged 반환 값: before, int count) {}} // AsyncTask 클래스 public class MyAsyncTaskTweet extends AsyncTask {@Override protected String doInBackground (String … tweet) {String result = ""; {twitter. updateStatus (tweet [0]); result = getResources (). getString (문자열. 성공);} catch (TwitterException twitterException) {결과 = getResources (). getString (문자열. twitter_failure);} catch (예외 e) {결과 = getResources (). }} @Override protected void onPostExecute (문자열 결과) {editTextTweet. setHint (result); editTextTweet. public class MyAsyncTaskTimeline extends AsyncTask {@Override protected String doInBackground (String … username) {String result = new String (""); setText ("") 목록 상태 = null; {statuses = twitter를 시도하십시오. getUserTimeline (사용자 이름 [0]);} catch (TwitterException twitterException) {결과 = getResources (). getString (문자열. twitter_failure);} catch (예외 e) {결과 = getResources (). (twitter4j.status status: statuses) {result + = status}에 대한 getString (R. string. general_failure);} getText (); 결과 + = "n";} 결과 반환;} @Override protected void onPostExecute (문자열 결과) {editTextUsername. setText (""); textViewTimeline. setText (result);}}}
Twitter의 네트워크 프로토콜을 사용하려면 대부분의 앱을 실행하는 장치가 올바른 시간으로 설정되어 있어야합니다. 이로 인해 에뮬레이터에서 앱을 실행하는 데 많은 어려움이 발생할 수 있습니다. 이 문제가 발생하면 트위터 (일반적으로 인증 시도를 지정하지 않음)에서 오는 오류 메시지가 도움이되지 않습니다. 따라서이 코드를 테스트 할 때마다 에뮬레이터를 피함으로써 많은 번거 로움을 피할 수 있습니다. 휴대 전화 또는 태블릿을 설정하여 네트워크 시간을 자동으로 가져 오면됩니다. 그런 다음 해당 장치에서 앱을 실행하십시오.
앱을 실행하면 두 영역이 나타납니다. 한 영역에 Tweet 버튼이 있습니다. 다른 영역에는 타임 라인 버튼이 있습니다.
깨끗한 상태의 주요 활동.이 이미지에서 두 텍스트 필드의 텍스트는 연한 회색입니다. 이것은 android: 힌트 속성이 코드에서 사용 되었기 때문에 발생합니다. 힌트 는 텍스트 필드가 비어있는 경우에만 나타나는 일련의 문자입니다. 사용자가 텍스트 필드 내부를 클릭하거나 텍스트 필드 안에 텍스트를 입력하면 힌트가 사라집니다.
윗부분의 텍스트 필드에 짹짹을 입력하십시오. Tweet 버튼을 누릅니다.
사용자가 트윗을 입력합니다.트위트하려는 시도가 성공하면 성공! 텍스트 필드의 트윗을 바꿉니다.
웬일인지 또는 다른 이유로 짹짹이 게시 될 수없는 경우, "짹짹이 못했습니다"와 같은 메시지가 텍스트 필드의 짹짹을 대체합니다.
앱이 사용자에게 나쁜 소식을 전합니다.아래쪽 텍스트 필드에 사용자 이름을 입력하고 타임 라인을 클릭하십시오.모든 것이 잘 진행되면 사용자의 가장 최근 트윗 목록이 타임 라인 버튼 아래에 나타납니다. 목록을 스크롤하여 더 많은 사용자의 트윗을 볼 수 있습니다.
사용자의 타임 라인.