рд▓реЗрдЦ рдореЗрдВ рдПрд▓реНрдмрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╡рд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд░реНрдгрди рд╣реИред
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╕реАрдзреЗ рдХреЛрдб рдореЗрдВ рдФрд░ рдХрдорд┐рдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред
рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдФрд░ рдмрд╣реБрдд рдХрдо рдЪрд┐рддреНрд░ рд╣реЛрдВрдЧреЗред
рдЙрджреНрджреЗрд╢реНрдп:
- рдПрд▓реНрдмрдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдВ
- рдкреНрд░рддреНрдпреЗрдХ рдПрд▓реНрдмрдо рдХреЗ рд▓рд┐рдП рд▓рд╛рдкрддрд╛ рдХрд╡рд░ рдХрд▓рд╛ рдЦреЛрдЬреЗрдВ
- рдЙрдиреНрд╣реЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рд╣реЗрдЬреЗрдВ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЦрд┐рд▓рд╛рдбрд╝реА рдПрд▓реНрдмрдо рдХрд▓рд╛ рджреЗрдЦреЗрдВред
118: рдПрдХ рдмрдЪреНрдЪреЗ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдПрд▓реНрдмрдо рдХрд▓рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ- рдПрдХ рдЦрд╛рд▓реА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реНрдЯрдм рдмрдирд╛рдПрдВ
- "рд╡реНрд╣реАрд▓" рдЕрдкрдбреЗрдЯ рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХреНрд╢рдирдмрд╛рд░ рдореЗрдВ рдПрдХ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЬреЛрдбрд╝реЗрдВред
- рдореЗрдиреВ рдмрдирд╛рддреЗ рд╕рдордп - "рдкрд╣рд┐рдпрд╛ рдШреВрдордирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ" (рдЗрд╕реЗ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
- рдХрд╕реНрдЯрдо ActionBar рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрдорд┐рдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдВрдХ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдереЛрдбрд╝реА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╣реЛрдЧреАред рдЪреВрдБрдХрд┐ рдЕрдиреНрдпрдерд╛ рдпрд╣ рд▓реЗрдЦ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╣реЛрдЧрд╛ред
public class ActArtworks extends Activity { private AQuery aq; private Menu optionsMenu; private boolean refreshing = true; private Activity activity; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
118: рдореАрдбрд┐рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд╕рднреА рдЯреНрд░реИрдХреНрд╕ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд▓реНрдбрдореЗрдбрд┐рд╕реЙрд░рдЯреНрд░реИрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВ- рдХреНрд▓рд╛рд╕
MediaStore рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓ рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдкрдврд╝рддрд╛ рд╣реИред
рдЬрдм рдлреЛрди рдХреЛ рд░рд┐рдмреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ "рдореАрдбрд┐рдпрд╛" рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рддрд╣рдд рдЖрдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВред
- рдЯреНрд░реИрдХ рдЯреЗрдмрд▓ рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ - рдХреНрд░рдордмрджреНрдз ArrayList рдХреЛ рдПрдХ рдмрд╛рдЗрдирд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ
рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
118: рдкрдврд╝реЗ рд╣реБрдП рдЯреНрд░реИрдХ- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕рд╣реЗрдЬреЗ рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╣реБрдП, рд╕рднреА рдЯреНрд░реИрдХреЛрдВ рдХрд╛ рдПрдХ ArrayList рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
- "рд╕рд╣реЗрдЬреЗрдВ" рдФрд░ рдирд╣реАрдВ, рд╣рдо рдкрдЯрд░рд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ "рд╕рд╣реЗрдЬреЗрдВ"
118: рдкреНрд░рджрд░реНрд╢рди рдПрд▓реНрдмрдо рд╕реВрдЪреА- рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рдЧреНрд░рд┐рдб рд╡реНрдпреВ рдЬреЛрдбрд╝реЗрдВ
- рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбреЗрдкреНрдЯрд░ рдЬреЛрдбрд╝реЗрдВ
- рдПрдбреЗрдкреНрдЯрд░ рдореЗрдВ, getView рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдПрдХрд▓ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИ
- рд╣рдо Android рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рд╕рднреА рдПрд▓реНрдмрдо рдирд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
118: рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдПрд▓реНрдмрдо рдХреЛ рдмрд╛рд╣рд░ рдлреЗрдВрдХрдирд╛- рдПрд▓реНрдмрдо рджреНрд╡рд╛рд░рд╛ рдкрдЯрд░рд┐рдпреЛрдВ рдХреА рд╢реАрдЯ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВред
- рдкреБрдирд░рд╛рд╡реГрддрд┐ рдЪрд▓рд╛рдПрдБ, рдФрд░ рд╕реВрдЪреА рд╕реЗ рдЧреБрдЬрд╝рд░реЗрдВред рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдПрд▓реНрдмрдо рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЗрд╕реЗ рд╕рд░рдгреА рд╕реЗ рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВред
118: рдПрдВрдбреНрд░реЙрдЗрдб 8+ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ (рднрддреАрдЬреА!)-
Appcompat рд╕рдВрдЧрддрддрд╛
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ
-рд╕рднреА рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХреЛ рд░рд┐рдкреЗрдпрд░ рдХрд░реЗрдВ - рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдпреЛрдЬрдирд╛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрд╕рдХреЗ рднреАрддрд░ рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:FreeAmp="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_refresh" android:icon="@drawable/ic_action_refresh" android:title="" android:alphabeticShortcut="r" android:orderInCategory="1" FreeAmp:showAsAction="always" /> </menu>
- рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╢реИрд▓реА рд╕реЗ рдкреНрд░рд╡реЗрд╢
<style name="theme" parent="@style/Theme.AppCompat">
- рд╕рднреА рдЧрддрд┐рд╡рд┐рдзрд┐ ActionBarActivity рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА
- рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
- refreshItem.setActionView(R.layout.actionbar_indeterminate_progress); + MenuItemCompat.setActionView(refreshItem, R.layout.actionbar_indeterminate_progress);
- рд╕рдВрдЧрддрддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ ListPopupWindow рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдореБрдЭреЗ рдХрдИ рд╢рд┐рдерд┐рд▓ рдпреБрдЧреНрдорд┐рдд рд╕рдВрд╢реЛрдзрдиреЛрдВ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдмрдЧ) рд╕реЗ рдереЛрдбрд╝рд╛ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрдирд╛ рдкрдбрд╝рд╛
118: рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреГрд╖реНрдарднреВрдорд┐118: рдПрдк рдмрд┐рдирд╛ рдЯреИрдЧ рдХреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реБрдЖред рдЕрдиреНрдп рдПрдк рдкрд░ рдЬрд╛рдВрдЪ рдХрд░реЗрдВ118: .opus рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛119: рдХрд░реНрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЧрдпреА-
Android рдХреЗ рд▓рд┐рдП рдХрд░реНрд▓libcurl.so рдЖрдХрд╛рд░:
(рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдлрд╝рдЯреАрдкреА рд╣реИ, ares рдХреЗ рд╕рд╛рде https)
https: ~ 169K (http, https рд╕рд╣рд┐рдд)
ares: ~ 28K (ares рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде https рдХреЛ рдЬреЛрдбрд╝рдХрд░)
ipv6: ~ 0K (рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдХрд╛рд░ рдирд╣реАрдВ)
+ рдкреВрд░реНрдг: ~ 278K (рд╕рднреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдПрд░реЗрд╕ рдХреЗ рд╕рд╛рде)
рдпрд╣ рдПрдХ рдХрд╛рдлреА рд╕рд╛рд╣рд╕рд┐рдХ рдФрд░ рдХрд╛рдлреА рд╣рдж рддрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рдирд╛ рд╢рд░реНрдд рд▓рд╛рдн рдФрд░ рдмрд┐рдирд╛ рд╢рд░реНрдд рдиреБрдХрд╕рд╛рди рджреЛрдиреЛрдВ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдореИрдВ рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ - рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдореИрдВ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВред рдХреНрдпрд╛ рдХрд░реНрд▓ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рдЖрдПрдЧрд╛ - рд╣рдо рджреЗрдЦреЗрдВрдЧреЗред
рдлрд┐рд░ рд╕реЗ рдореБрдЦреНрдп рд▓рд╛рдЗрди рд╕реЗ рдПрдХ рд╣рд▓реНрдХрд╛ рдХреБрдВрдж:
119: рд╕реЗрдЯ рд░рд┐рдВрдЧрдЯреЛрди- рд╡рд░реНрддрдорд╛рди рдЯреНрд░реИрдХ рдХреЛ рд░рд┐рдВрдЧрдЯреЛрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ (рдкреНрд░рдХрд╛рд░ рд╕реЗ рдлрд╛рдбрд╝рд╛ рд╣реБрдЖ)ред
119: рдЖрд╕рд╛рди рдХрд░реНрд▓ рдЕрдиреБрд░реЛрдз- рдХрд░реНрд▓ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕ рд░реИрдкрд░ред рдЕрдм рддрдХ, рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рддрдкрд╕реНрд╡реА рд╣реИред рдЗрдирдкреБрдЯ рдпреВрдЖрд░рдПрд▓ рдкрд░ - рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА (рдмрд╛рдЗрдЯрдПрдпрд░рдСрдпреВрдЯрдкреБрдЯрд╕реНрдЯреНрд░реАрдо)ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдЗрд╕рдореЗрдВ рд╕реЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдПрдВ, рд▓реЗрдХрд┐рди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдПрдХ рдмрд┐рдЯрдореИрдк рдмрдирд╛рдПрдВред рдпрд╛ рдХреБрдЫ рдФрд░ред
рд▓реЛрдЧ рдЖрдХрд░
рдмрд╛рд╣рд░реА рдПрд╕рдбреА рдХрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП
рд╕рдорд░реНрдерди рдорд╛рдВрдЧрдиреЗ рд▓рдЧреЗ
резреирез: рд╣рдо рдПрд▓реНрдмрд╛рд░реНрдЯ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдПрд▓реНрдмрдо рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдЧреНрд░рд┐рдб рдмрдирд╛рддреЗ рд╣реИрдВ- рд╣рдо рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдп рдореЗрдВ рдХрд╡рд░ рд╕реВрдЪреА рдХреА рдкреАрдврд╝реА рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реИрдВ
121: рдЧреНрд░рд┐рдбрд╡реНрдпреВ рдкрд┐рдХреНрдЪрд░реНрд╕ рдмрдирд╛рдирд╛- рдХрд░реНрд▓ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдЖрд╡рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ last.fm рд╕реЗ рдПрд▓реНрдмрдо рдХрд╡рд░ рдХреЗ рд╕рд╛рде json рдкрдврд╝реЗрдВ
String url = String.format("http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=0cb75104931acd7f44f571ed12cff105&artist=%s&album=%s&format=json", Uri.encode(track.getArtist()),Uri.encode(currentAlbum)); getHttpData = new GetHttpData(); getHttpData.setUrl(url); getHttpData.request(); String result = new String(getHttpData.getByteArray());
- рдкрд░рд╕рд┐рдо рдЙрддреНрддрд░
JSONObject jsonObject = new JSONObject(result); jsonObject = jsonObject.getJSONObject("album"); JSONArray image = jsonObject.getJSONArray("image"); for (int i=0;i<image.length();i++) { jsonObject = image.getJSONObject(i); if (jsonObject.getString("size").equals("extralarge")) { albumArtImageLink = Uri.decode(jsonObject.getString("#text")); AQUtility.debug(track.getArtist()+":"+currentAlbum,albumArtImageLink); } }
- рдПрдХ рддрд╕реНрд╡реАрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ
- рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рддрд╕реНрд╡реАрд░ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВ (рд╕реНрд░реЛрдд рдореЗрдВ рдЬрд╛рд╕реВрд╕реА рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЙрдиреНрд╣реАрдВ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдмрдХрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд╛рд▓ рджрд┐рдП рд╣реИрдВ)
121: рд╕реНрдореГрддрд┐ рд╕реЗ рдмрд╛рд╣рд░- рдЧреНрд░рд┐рдб рдХреЛ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ рдФрд░ рджреЛ рдЪреАрдЬреЗрдВ рдкрд╛рдПрдВ:
1. рдбрд░рд╛рд╡рдирд╛ рд▓реИрдЧреНрд╕ (рдпрд╣ рд╕рд╣реА рд╣реИ, рдЖрдкрдХреЛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)
2. рдореЗрдореЛрд░реА рд╕реЗ рдмрд╛рд╣рд░ (рдпрд╣ рднреА рд╕рдЪ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдЙрдореНрдореАрдж рд╕реЗ рдереЛрдбрд╝рд╛ рдкрд╣рд▓реЗ рдкрдХрдбрд╝реЗ рдЧрдП, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд░реВрдк рд╕реЗ рдЪреЛрд░реА рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ)
121: LRU Cashe- рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдПрдВ, рдЬреЛ рдЗрд╕реЗ рднрд░рддреЗ рд╣реА рдмрджрд▓ рдЬрд╛рдПрдЧрд╛
- рдХреИрд╢ рд╕реЗ рдкрд╣рд▓реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рддрд╕реНрд╡реАрд░реЛрдВ рдХреЛ рдкрдврд╝реЗрдВ, рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдХреИрд╢ рдореЗрдВ рдирдИ рддрд╕реНрд╡реАрд░реЗрдВ рдЬреЛрдбрд╝реЗрдВ
121: рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛рдкреНрд░реАрдореЗрдкреНрдЯрд┐рд╡ рдХреИрд╢ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рджреЛ рдЪреАрдЬреЗрдВ рд╣реБрдИрдВ:
1. рд╕реНрдореГрддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдЧрд╛рдпрдм (рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ)
2. рд▓реЗрдХрд┐рди рдмреНрд░реЗрдХ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╕рдордп рдмрдирд╛ рд░рд╣рд╛
- рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдкрдврд╝реЗрдВ
121: onScrollStateChanged, onConfigurationChanged- рдЙрд╕ рд╕рдордп рдЪрд┐рддреНрд░ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░реЙрд▓ "рд░реЛрд▓" рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рдЬрдбрд╝рддрд╛ рджреНрд╡рд╛рд░рд╛ "рд╣реЛрд╡рд░ рдХрд░рддрд╛ рд╣реИ"
- рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдУрд░рд┐рдПрдВрдЯреЗрд╢рди рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдВ
void applyAdapter() { if (tracks == null) return; adapter = new AdpArtworks(activity,tracks); int iDisplayWidth = getResources().getDisplayMetrics().widthPixels ; int numColumns = (iDisplayWidth / 310); gridView.setColumnWidth( (iDisplayWidth / numColumns) ); gridView.setNumColumns(numColumns); gridView.setStretchMode( GridView.NO_STRETCH ) ; gridView.setAdapter(adapter); gridView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { adapter.setScrollState(scrollState); if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { adapter.notifyDataSetChanged(); } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } }); }
121: рдбреНрд░рд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп 2 рдмрд┐рдЯрдореИрдк рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ, рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ- рдПрдХ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП xml рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХрдиреНрд╡рд░реНрдЯ
- рд╣рдо рдореЗрдиреВ рдореЗрдВ "рдкрд╣рд┐рдпрд╛" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЙрд▓ рдХреЛ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ
+ final Drawable imgBgr = activity.getResources().getDrawable(R.drawable.row_bgr); + final Bitmap bitmap = Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + imgBgr.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); + imgBgr.draw(canvas); + this.placeHolder = bitmap;
121: рдбрд╛рдЙрдирд▓реЛрдб рдЗрдВрдбрд┐рдХреЗрдЯрд░121: рдиреЛрдЯрд┐рд╕- рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдЧрддрд┐ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдкрд╛рдпрд╛ рдПрд▓реНрдмрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
рдФрд░ рдЕрдм рд╕реНрд▓рд╛рдЗрдбреНрд╕ рд╣реЛрдВрдЧреЗ!

