       Android. 2
  


           Android.          Android.      ,      ,   .





       Android

2



  



  ,2022



ISBN978-5-4485-6607-3

     Ridero


   ,  :  Notifications,     Threads & AsyncTask,  ,   頖 Broadcast Receivers,  Alarms,  ,   ,  頖 ,   ,  ,    ,  ,   ContentProvider Service.

 1  ,     ,  ,  ,   : Activity, Intent, Fragment.

   ,    Java    ,    Android.        .




Notifications 


 ?  ,          . , ,    ,      .             ,   . Ƞ , ,     .   ,   ,   ,     .

      ,   Android.     (toast).         .     ,    ,  Activity   .








 䠖    (status bar)   .       ,           .








    ,   ,   .








     ,      .    ,       ,       ,     . ,  .      ,   .    젖  ,     ,    .

, Android      .    ,    ,      .    ,   , ,   ,   ,  ,    .

-   ,   , ,       .      .  ࠖ   .    ,        .

  ,   makeText  Toast.     : ,     ,  ,      .  ,    ,     ,   Toast.show().

    ,   -.      ,  Show Toast.    ,         ,  : Youre toast!.








,     ,  ,   .








   OnClickListener   Show Toast, 蠖   makeText,    Toast. LENGTH_LONG,         . Ƞ     show (),    .

     ,      ( )   . ,      XML  ,     -,   setView.

  .     ,  ,     ,   .








    Activity   ,     . ,     Show Toast,      -.








         ,     .    setView,      XML-,     custom_toast. xml.     relativeLayout,    . 頖  ,      . 頖  ,     Youre toast!.

,    Activity,      show (),     .

   ,   젖  ,     (status bar).    Android    ,      .        ,   (drawer),    ,    . Ƞ  ,      ,     .

   ,     Android.      .      . ,     ,     ,    ,        .      ,   ,  .








    , Android       .    ,      ,        .     ,    www.google.com  .   ,  ,     .      ,   ,     .      ,   .     ,     ,      ,        .

     ,     . -,  ,   ,  , ,  ,  ꠖ .    ,      ,      .  ,      ,           . ,     ,   ,      .      - ,  ,    ,   .

,    , -     ,  ,   - .      Android,   .

   ,   ,    ,  ,    .   NotificationStatusBar.       Notify.    ,     ,  ,       .








,     ,          .      ,     .

   .  ,     ,   ,   ,      , ,   Notify    . Ƞ   .       Notify  ,     ,  ,     .








,    ,  ,    Activity,  : Got the Intent.  ,     Intent   ,     ( Activity),     ,   .

          ,   ,    ,    .      , ,       . Ƞ,    ,     Activity,    Got the Intent.

      .   Activity .








 ,   ID  ,   .       ,  ,    . Ƞ,   ,     ,     ( ),  .  ,    ,  ,     ,   .

,     ,      .








     custom_notification. xml.     linear layout   . 頖  . 頖  ,     Youve been notified.

  Activity   onCreate.    Intent,  mNotificationIntent,    sub-Activity .








       PendingIntent,    mNotificationIntent,   . PendingIntent   (Intent) ,    ,         ,     .     ,   ,     ,    ( ),   PendingIntent.

 ,   Notify    ,     .








    ,   notification. builder.     notification. Builder,    ( ),       auto cancel  true.     ,      .   ,   PendingIntent,     ,      .     ,    ,   . Ƞ,   ,     ,     .








,   ,       getSystemService,  ID  . Ƞ,    notify  ,  ID   .








 build      .







 ,  ,       .  ,        . Ƞ  ,         .        ,      ,  ,  ,   .

        蠖 Threads.  ꠖ    ,    . Ѡ            ,    ( ,       )      .

,   .








    . Ӡ    , CPU 1CPU 2.       ,  .  CPU 2   ࠖ p3 p4.  ⠖      . Ӡ  ,   ,  ,    ,       . Ƞ  , p4,    ࠖ 7 8.   ⠖        .       ,          ,   .

 Java     thread  java.lang.  Java   runnable.  ,      (public)   run,       .      start     sleep  ,     .  wait           notify.

  , -,   . ,    new. ,   ,       start. ,      run,     ,   .

    new,     .    , -       start.     ,       run. ,   ,      .  ,   ,     ,  .

 ,     , ThreadingNoThreading.        .    LoadIcon.     ,    ,  ,    .    ,        .         .       . Ƞ      .

   Other Button.     ,  -,    .   , ,    ,   . ,        ,  -  .








            ,    .     ,    .   Other Button,    .

  .    Load Icon,           . Ƞ    Load Icon,   ,   Other Button. Ƞ  ?   Other Button . ?      Other Button, Android        Load Icon   ,    .

Ӡ     , ,  ,  堖  ꠫  Load Icon    ,         .   蠖  Threadingsimple,  .








  Load Icon   loadIcon (),    .     ,   ,   . Ƞ    image view,    .








,      Load Icon,    Other Button, ,    ࠫOther Button   .  ,  .    ,     .








   logcat,  ,    ,    ,    ,    .








 ,   ,   ,    ,    ,         .

Ƞ,         ? Ӡ Android    ,    UI thread   .   ,     ,  ,   ꠖ UI thread.    : OnCreate, OnStart ..,   . ,  ,       .   , ,    UI-   ,       . ,        . ,  ,        ,  UI tread.  ,       ,    ,       UI.

ȠAndroid        .   Android   ,       .     post  View runOnUiThread  Activity.      Runnable,  , , ,     .  ,     ,       ,    ,     ,   Runnable,    .

 ,    .   Activity      loadIcon,  ,     Load Icon.   ,         .   ,    view.post,   Runnable,     setImageBitmap,      imageView.








 ,   ,   AsyncTask.        .        , ,    ,  ,     ,    UI .   AsyncTask  ,        UI.          .   ,  ,      ,        ,      .

AsyncTask  .     : params, progress, result. Params  ,   AsyncTask  . Progress    ,     . Result    .

  AsyncTask    . -, onPreExecute ()    UI    .

    doInBackground (Params)    .   . Ƞ       Result.

  doInBackground     publishProgress (Progress)  ,       .    UI     onProgressUpdate (Progress),        publishProgress.

Ƞ , onPostExecute (Result)  UI      ,    .

      ,  AsyncTask.    ,  ,      ,     ࠖ  ,  ,       .

   Load Icon       .         Other Button . Ƞ,   .








     .   Activity.








  Load Button    LoadIconTask    execute    id  .

   LoadIconTask  . LoadIconTask  AsyncTask : params  , progress   result   .








 ,   ,  onPreExecute.    UI   堖     .

 䠖 doInBackground.        id    ,     LoadiconTask. execute. doInBackground     . Ƞ   ,    publishProgress,  ,    ,     .        .

 䠖 onProgressUpdate.      ,  ,    PublishProgress,         .

Ƞ,  䠖 onPostExecute.     UI       (Bitmap)  .








 onPostExecute    ,          .

 Handler  ,      Runnable,    .         .  AsyncTask,  Handler      ,   ,       ,      .             Runnable ,   .

   Runnable,   (-)       ,     . Ѡ , 堖  ,    ,    ,      . Ƞ   ,  -       ,     handler.

 Android     頖 messageQueue 젖 Looper.  頖  ,     runnable.      runnable      .








    Tread A,   Runnable   post ()  -ꠖ Handler,      . Runnable    ,  . Ƞ   .








    Thread B,       sendMessage,      .    ,   .

  ,     , -    ,    . Ƞ   ,        ,    .   ࠖ ,    ,    handleMessage    .     Runnable,      run.

  ,       . ,    postAtTime,   runnable       .  postDelayed   runnable       .

    ,    .        obtainMessage,       .     obtain  message.

  runnable,    ,   ,   .  sendMessage  .    ,       ,       .   sendMessageAtTime,       .    sendMessageDelayed,         .

        ,    .   Threading handler runnable.   Activity  . -,  ,      .       .  ,  runnable,    ,   UI .








     Load Icon.     Load Icon,      ,  run   runnable- LoadIconTask.








 run  LoadIconTask ,    Runnable,       .








    . Ƞ  ,      setProgress  runnable.








   Runnable,        . Ƞ ,   Runnable,     .








     ,     runnable ThreadingHandlerMessages.   Activity  . -,     . Ƞ  ,      UI . Ƞ ,    ,   UI . Ӡ    handleMessage,      .      ,   ,   ,     .








,  䠖 set_progress_bar_visibility,       .  䠖 progress_update,       .  䠖 set_bitmap,       .

  ꠫  Load Icon.   ,    ,  ,    ,   run  runnable- LoadIconTask.








        set_progress_bar_visibility , ,      .     ,     .

    . Ƞ ,   ,     progress_update ,     .       setProgress  progressBar.








   ,       . Ƞ,   ,     .




 


       ,        ,   -,    .         WiFi  .        ,       . Android          Java.net, org. appache  android.net.

       ,         .    -    ,    .     ,    http-,   ,      .

  ,     ,    (Socket),  HttpURLConnection AndroidHttpClient.

  ,   socket,       Load Data. ,    ,    HTTP GET  ,     ,    .








   ,  ,      .   Activity  ,       .    ,     AsyncTask  HttpGetTask.








 HttpGetTask    ,      HttpGet.























   doInBackground.     ,     api.geonames.org  http-:80.








     ,   http_get_command,     ,      HTTP GET,  ,     .      ,    readStream,       ,    .

     onPostExecute,    ,    .













 .       ,   HTTP. , ,      ,      .          ,    .  ,     ,      .  ⠖   ,    .     ,  ,          HTTP-,       HTTP-.

     HttpURLConnection.       ,      ,   ,      API,     Android HTTP client.   ,   Android     Android HTTP,     .

,    ,     HttpURLConnection.  NetworkingURL        ,    Load Data    Http ,   .

    ,   .   Activity  ,       .  ,        AsynchTask  httpGetTask.








   .  HttpGetTask   execute,   doInBackground.       URL   URL-     .













    openConnection   URL,   Http .      httpUrlConnection.

 ,     (input stream) Http-    readStream.  readStream      ,     .    httpUrlConnection   http-   .

     onPostExecute,     .








  AndroidHTTPClient.     DefaultHttpClient  Apache.    .  ,    HTTP    .     ,      .

   ,        NetworkingAndroidHttpClient.








  Activity     HttpGetTask.       AndroidHttpClient,   newInstance.













   doInBackground,    HttpGet,   URL-.

   ResponseHandler  .      HttpGet     BasicResponseHandler,    .








, ,      execute,   ,  ,     .      onPostExecute,    .








     ,         ,  .         ,     .

,          ,  -     .  ,  ,    ,  JavaScript Object Notation JSON Extensible Markup Language XML.    .

 ,  JavaScript Object Notation JSON.         ,    .  JSON     .  ,      , ࠖ  .

   ,   -  . ,  ,    JSON.








  ,    .








-,     JSON,    ,      .   earthquakes, 堖   .     ,      ,    .

.     eqid    id .    magnitude   .   lng,  堖  ,   .  ,    ,         .

   ,     ,    ,       .   NetworkingAndroidHttpClientJSON.  ,        Load Data ,  ,       HTTP-  ,      ,    .         .








   ,  ,   .    HttpGetTask.




























  doInBackground  ,    ,      JSONResponseHandler   .       handleResponse.          ࠖ BasicResponseHandler,         HTTP.








   JSONTokener   JSON-  Java,       ,     .








   ,   .      .








    . Ƞ       ,   ,    .








      ,          result.








Ƞ, ,     .

  ,   젖  Extensible Markup Language XML. XML      XML-. XML-   .            .    . , ,    ,  XML     HTTP.

   .      URL,  -     XML,  JSON. ,   .























   ,  geonames.             ,      .

 ,     JSON,   eqid,     .    lng,  堖 ,   ,  ,   JSON,    .

 ,    XML- ,     XML-,      .   XML- Android     XML.

 DOM Document Object Model ().  DOM   XML-      ࠖ ,      .     ,      .

SAX Simple API for XML ()   XML-  . Ƞ     ,    ,     .     ,  DOM-,       .

Pull-,   SAX-,    ,  ,  ,  , , ,       . Pull-    ,  DOM,          ,  SAX-.

    ,  ,       JSON.      .

   HTTPGetTask.  doInBackground  ,    .     XML response handler   .       handleResponse,     PullParser.













      XML-,     HTTP-.           XML-.








  while  3,     :  XML-,  XML-  .     ,    .

  startTag,    ,  .   ,     ,   ,   ,   ,    .








 endTag     . Ƞ   ,     ,    ,   ,   .  ,     ,           .








   ,   text.      .   ,     ,     .








   doInBackground  Activity,   ,   onPostExecute c ,   .








        ,     ,       handleResponse.

Ƞ.      ,     :









Broadcast Receivers   


BroadcastReceiver    ,     (,  Intent),   sendBroadcast (Intent)  ,      ,      . Ƞ,    ,  ,         ,   .

, Android   ,      SMS-.  - ,    - ,      ,   SMS.    ,   ,   ,   .  Android   ,  SMS-,     ( )    ,      onReceive,      .

, 堖         . -, -      . -, Android      ,     . Ƞ堖       onReceive,     .

     .        . ,      ,     AndroidManifest. xml ,    . Ƞ,      ,      .

    ,     receiver,           -.  - Android ,      .    .








    receiver,     .

android: enabled      .

android: exported,    true,        ,        false,    ,      .

android: name   ,   .

android: permission   ,     ,      .   ,      -,     Permissions.   -     (action),  (data)  (categories).

   ,            .  ,      ,    ,  show toast intent.       Broadcast Intent.      ,     ,    -.








   Activity.       ,       .








   ,    sendBroadcast,    .








      -.   custom_intent ,           ,     .




  .


   .

   ,     (https://www.litres.ru/evgeniy-senko/programmirovanie-prilozheniy-dlya-mobilnyh-ustroystv-pod-upravleniem-android-chast-2/)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .


