Android basic---->parcelable use
Last Update:2016-03-23
Source: Internet
Author: User
<span id="Label3"></p><p><p>Use of parcelable serialization in Android.</p></p><p><p></p></p><p><p><span style="font-size: 18px;">Directory Navigation:</span> <span style="line-height: 1.5;"> </span></p></p> <ol> <ol> <li><span style="font-size: 16px;">Serializable use in Android</span></li> <li><span style="font-size: 16px;">Parcelable use in Android</span></li> <li><span style="font-size: 16px;">Comparison of Serializable and parcelable</span></li> <li><span style="font-size: 16px;">Friendship Link</span></li> </ol> </ol><p><p></p></p><p><p><span style="font-size: 18px;">The project structure is as Follows:</span></p></p><p><p></p></p>Serializable use in Android<p><p>first, Build a man class that implements the Serializable interface:</p></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;"></span> package</span><span style="color: #000000;"><span style="color: #000000;">com.example.linux.parcelabletest;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">java.io.Serializable;</span></span><span style="color: #008000;"><span style="color: #008000;">/**</span></span><span style="color: #008000;"><span style="color: #008000;">* Created by Linux on 2016/3/22.</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">class</span></span>Mans<span style="color: #0000ff;"><span style="color: #0000ff;">Implements</span></span><span style="color: #000000;"><span style="color: #000000;">Serializable {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span><span style="color: #000000;"><span style="color: #000000;">String username; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span><span style="color: #000000;"><span style="color: #000000;">String password; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;">man <span style="color: #000000;">(string username, string Password) {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> this</span>. Username =<span style="color: #000000;"><span style="color: #000000;">username; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> this</span>. Password =<span style="color: #000000;"><span style="color: #000000;">password; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;"><span style="color: #000000;">String getusername () {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">username; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;"><span style="color: #000000;">String GetPassword () {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">password; }}</span></span></pre><p><p></p></p><p><p>II. serialization of Serializable in Android in Mainactivity</p></p><pre><pre><span style="color: #008000;">//</span> <span style="color: #008000;">use of Serializable</span> <span style="color: #0000ff;"></span> public <span style="color: #0000ff;">void</span> <span style="color: #000000;">serializable (view view) { </span><span style="color: #0000ff;">new</span> <span style="color: #000000;"> Intent (); Intent.setclass (mainactivity.</span> <span style="color: #0000ff;"></span>this, Anotheractivity. <span style="color: #0000ff;">class</span> <span style="color: #000000;">); </span> <span style="color: #0000ff;">New</span> Man ("google", "android"<span style="color: #000000;">); </span> <span style="color: #0000ff;">New</span> <span style="color: #000000;">Bundle (); Bundle.putserializable (</span>"man"<span style="color: #000000;">, man); Intent.putextras (bundle); StartActivity (intent);}</span></pre></pre><p><p></p></p><p><p>third, anotheractivity in the serializable in the Android deserialization:</p></p><pre><pre>Intent Intent =<span style="color: #000000;"></span><span style="color: #000000;"></span>= (man) extras.getserializable ("man"<span style="color: #000000;"></span>"username:" + man.getusername () + ", Password: "+ Man.getpassword ());</pre></pre><p><p></p></p><p><p>Iv. printing results are as follows:</p></p><pre><pre>03-23 00:46:27.870 30378-30378/com.example.linux.parcelabletest i/parcelable:username:google, password:android</pre></pre><p><p></p></p>Parcelable use in Android<p><p>first, establish a person class that implements the Parcelable interface:</p></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;"></span> package</span><span style="color: #000000;"><span style="color: #000000;">com.example.linux.parcelabletest;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.os.Parcel;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.os.Parcelable;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Import</span></span><span style="color: #000000;"><span style="color: #000000;">android.util.Log;</span></span><span style="color: #008000;"><span style="color: #008000;">/**</span></span><span style="color: #008000;"><span style="color: #008000;">* Created by Linux on 2016/3/20.</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">class</span></span>Person<span style="color: #0000ff;"><span style="color: #0000ff;">Implements</span></span><span style="color: #000000;"><span style="color: #000000;">parcelable {</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span>String TAG = "parcelable"<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span><span style="color: #000000;"><span style="color: #000000;">String username; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Private</span></span><span style="color: #000000;"><span style="color: #000000;">String password; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;">person <span style="color: #000000;">(string username, string password) {log.i (TAG,</span></span>"person constructor." Username and password ");<span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">1</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> this</span>. Username =<span style="color: #000000;"><span style="color: #000000;">username; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> this</span>. Password =<span style="color: #000000;"><span style="color: #000000;">password; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;"><span style="color: #000000;">String getusername () {log.i (TAG,</span></span>"get usrename"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">username; } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;"><span style="color: #000000;">String getpassword () {log.i (TAG,</span></span>"get password"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">password; } @Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">describecontents () {log.i (TAG,</span></span>"desceibe contents"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span>0<span style="color: #000000;"><span style="color: #000000;">; } @Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">void</span></span>Writetoparcel (Parcel dest,<span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">Flags) {LOG.I (TAG,</span></span>"write to parcel:" + flags);<span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">2</span></span><span style="color: #000000;"><span style="color: #000000;">dest.writestring (username); Dest.writestring (password); } </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Static</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">Final</span></span>Parcelable.creator<person> Creator =<span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span>Creator<person><span style="color: #000000;"><span style="color: #000000;">() {@Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;">person <span style="color: #000000;">createfromparcel (Parcel source) {log.i (TAG,</span></span>"creator:create from parcel");<span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">3</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;">person <span style="color: #000000;">(source); }<br>@Override</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span>person[] NewArray (<span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span><span style="color: #000000;"><span style="color: #000000;">Size) {LOG.I (TAG,</span></span>"creator:new array"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">New</span></span><span style="color: #000000;"><span style="color: #000000;">person[size]; } }; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> public</span><span style="color: #000000;">person <span style="color: #000000;">(Parcel Parcel) {log.i (TAG,</span></span>"person constructor." Parcel ");<span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">4</span></span>Username =<span style="color: #000000;"><span style="color: #000000;">parcel.readstring (); Password</span></span>=<span style="color: #000000;"><span style="color: #000000;">parcel.readstring (); }}</span></span></pre><p><p></p></p><p><p>Ii. serialization of Parcelable in Android in Mainactivity</p></p><pre><pre><span style="color: #008000;">//</span> Use of parcelable <span style="color: #008000;">serialization</span> <span style="color: #0000ff;"></span> public <span style="color: #0000ff;">void</span> <span style="color: #000000;">parcelable (view view) { </span><span style="color: #0000ff;">new</span> <span style="color: #000000;"> Intent (); Intent.setclass (mainactivity.</span> <span style="color: #0000ff;"></span>this, Anotheractivity. <span style="color: #0000ff;">class</span> <span style="color: #000000;">); </span> <span style="color: #0000ff;">New</span> Person ("huhx", "linux"<span style="color: #000000;">); </span> <span style="color: #0000ff;">New</span> <span style="color: #000000;">Bundle (); Bundle.putparcelable (</span>"person"<span style="color: #000000;">, person); Intent.putextras (bundle); StartActivity (intent); }</span></pre></pre><p><p></p></p><p><p>third, anotheractivity in the parcelable in the Android deserialization:</p></p><pre><pre>Intent Intent =<span style="color: #000000;"></span><span style="color: #000000;"></span>= = extras.getparcelable ("person"<span style="color: #000000;"></span>"username:" + person.getusername () + ", Password: "+ Person.getpassword ());</pre></pre><p><p></p></p><p><p>Iv. printing results are as follows:</p></p><pre><pre>03-23 00:45:49.510 30378-30378/com.example.linux.parcelabletest i/<span style="color: #000000;">Parcelable:person constructor. username and Password</span>03-23 00:45:49.510 30378-30378/com.example.linux.parcelabletest i/parcelable:write to Parcel:003-23 00:45:49.660 30378-30378/com.example.linux.parcelabletest i/<span style="color: #000000;">Parcelable:creator:create from parcel</span>03-23 00:45:49.660 30378-30378/com.example.linux.parcelabletest i/<span style="color: #000000;">parcelable:person constructor. Parcel</span>03-23 00:45:49.660 30378-30378/com.example.linux.parcelabletest i/<span style="color: #000000;">parcelable:get usrename</span>03-23 00:45:49.660 30378-30378/com.example.linux.parcelabletest i/<span style="color: #000000;">parcelable:get password</span>03-23 00:45:49.660 30378-30378/ Com.example.linux.parcelabletest i/parcelable:username:huhx, Password:linux</pre></pre><p><p></p></p>Comparison of Serializable and parcelable<p><p></p></p>Friendship Link<p><p>Test program source code access password 7925</p></p><p><p></p></p><p><p>Android basic---->parcelable use</p></p></span>