Fideo Trosglwyddo Wirless FMUSER A Sain Yn Haws!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Affricaneg
sq.fmuser.org -> Albaneg
ar.fmuser.org -> Arabeg
hy.fmuser.org -> Armeneg
az.fmuser.org -> Aserbaijani
eu.fmuser.org -> Basgeg
be.fmuser.org -> Belarwseg
bg.fmuser.org -> Bwlgaria
ca.fmuser.org -> Catalaneg
zh-CN.fmuser.org -> Tsieineaidd (Syml)
zh-TW.fmuser.org -> Tsieineaidd (Traddodiadol)
hr.fmuser.org -> Croateg
cs.fmuser.org -> Tsiec
da.fmuser.org -> Daneg
nl.fmuser.org -> Iseldireg
et.fmuser.org -> Estoneg
tl.fmuser.org -> Ffilipineg
fi.fmuser.org -> Ffinneg
fr.fmuser.org -> Ffrangeg
gl.fmuser.org -> Galisia
ka.fmuser.org -> Sioraidd
de.fmuser.org -> Almaeneg
el.fmuser.org -> Groeg
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebraeg
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hwngari
is.fmuser.org -> Gwlad yr Iâ
id.fmuser.org -> Indonesia
ga.fmuser.org -> Gwyddeleg
it.fmuser.org -> Eidaleg
ja.fmuser.org -> Japaneaidd
ko.fmuser.org -> Corea
lv.fmuser.org -> Latfia
lt.fmuser.org -> Lithwaneg
mk.fmuser.org -> Macedoneg
ms.fmuser.org -> Maleieg
mt.fmuser.org -> Malteg
no.fmuser.org -> Norwyeg
fa.fmuser.org -> Perseg
pl.fmuser.org -> Pwyleg
pt.fmuser.org -> Portiwgaleg
ro.fmuser.org -> Rwmaneg
ru.fmuser.org -> Rwseg
sr.fmuser.org -> Serbeg
sk.fmuser.org -> Slofacia
sl.fmuser.org -> Slofenia
es.fmuser.org -> Sbaeneg
sw.fmuser.org -> Swahili
sv.fmuser.org -> Sweden
th.fmuser.org -> Thai
tr.fmuser.org -> Twrceg
uk.fmuser.org -> Wcrain
ur.fmuser.org -> Wrdw
vi.fmuser.org -> Fietnam
cy.fmuser.org -> Cymraeg
yi.fmuser.org -> Iddew-Almaeneg
Rhennir darlledu yn ddau fath gwahanol: "Darllediadau arferol" a "Darllediadau gorfodol". Mae darllediad cyffredin yn hollol anghymesur a gall pob derbynnydd darlledu ei dderbyn ar yr un pryd (yn rhesymegol). Mae effeithlonrwydd cyflwyno neges yn gymharol uchel, ond yr anfantais yw na all y derbynnydd drosglwyddo'r canlyniad prosesu i'r derbynnydd nesaf, ac ni ellir ei derfynu. Lluosogi Bwriad Darlledu; fodd bynnag, mae darllediad trefnus yn seiliedig ar y flaenoriaeth a ddatganwyd gan y derbynnydd (a ddatganwyd yn yr android: priodoledd blaenoriaeth yr elfen hidlo bwriad, y mwyaf yw'r nifer, yr uchaf yw'r flaenoriaeth, yr ystod werth: -1000 i 1000. Mae hefyd posib Ffoniwch setPriority () y gwrthrych IntentFilter i'w osod), ac mae'r derbynnydd yn derbyn y darllediad yn ei dro. Er enghraifft, os yw lefel A yn uwch na lefel B, a bod lefel B yn uwch na C, yna trosglwyddir y darllediad yn gyntaf i A, yna i B, ac yn olaf i C. Ar ôl i A gael y darllediad, mae'n yn gallu storio data yn y darllediad. Pan anfonir y darllediad i B, gall B gael y data wedi'i storio gan A o'r darllediad.
Cyd-destun.sendBroadcast ()
Darllediad cyffredin yw'r hyn a anfonir, ac mae pob tanysgrifiwr yn cael cyfle i'w gael a'i brosesu.
Cyd-destun.sendOrderedBroadcast ()
Mae anfon yn ddarllediad trefnus. Bydd y system yn gweithredu'r derbynyddion fesul un yn unol â'r flaenoriaeth a ddatganwyd gan y derbynnydd. Mae gan y derbynnydd blaenorol yr hawl i derfynu'r darllediad (BroadcastReceiver.abortBroadcast ()). Os caiff y darllediad ei derfynu gan y derbynnydd blaenorol, yr olaf Ni all y derbynnydd gael y darllediad mwyach. Ar gyfer darllediad wedi'i orchymyn, gall y derbynnydd blaenorol storio'r canlyniad prosesu yn y Bwriad darlledu, ac yna ei basio i'r derbynnydd nesaf.
Defnyddir derbynnydd darlledu (BroadcastReceiver) i dderbyn Bwriad darlledu, a gwireddir anfon Bwriad darlledu trwy ffonio Context.sendBroadcast () a Context.sendOrderedBroadcast (). Fel arfer, gellir derbyn Bwriad darlledu gan dderbynyddion darlledu lluosog sydd wedi'u tanysgrifio i'r Bwriad hwn. Mae'r nodwedd hon yn debyg i dderbynyddion negeseuon Pwnc yn JMS. Mae gweithredu dull derbynnydd darlledu fel a ganlyn:
Y cam cyntaf: diffinio'r derbynnydd darlledu, etifeddu BroadcastReceiver, ac ailysgrifennu'r dull onReceive ().
dosbarth cyhoeddus IncomingSMSReceiver estynBroadcastReceiver {
Lle gwag cyhoeddus @Override onReceive (Contextcontext, Intentintent) {
}
}
Cam 2: Tanysgrifiwch i'r bwriad darlledu a ddarlledir, mae dau ddull tanysgrifio:
Y math cyntaf: defnyddio cod i danysgrifio (tanysgrifiad deinamig)
Hidlydd IntentFilter = newIntentFilter ("android.provider.Telephony.SMS_RECEIVED");
Derbynnydd IncomingSMSReceiver = newIncomingSMSReceiver ();
registerReceiver (derbynnydd, hidlydd);
Yr ail fath: Tanysgrifiwch yn y nod yn y ffeil AndroidManifest.xml (tanysgrifiad statig)
Gadewch i ni edrych ar y gwahaniaeth rhwng tanysgrifiad darlledu deinamig a thanysgrifiad darlledu statig:
Gelwir darllediad tanysgrifiad statig hefyd: darllediad preswylwyr. Pan fydd eich cais ar gau, os oes neges ddarlledu, gall y derbynnydd darlledu a ysgrifennwyd gennych ei derbyn hefyd. Ei ddull cofrestru yw AndroidManifast yn eich cais. .xml i'w danysgrifio.
Gelwir darllediad tanysgrifiad deinamig hefyd: darllediad dibreswyl. Pan ddaw'r cais i ben, bydd y darllediad yn diflannu'n naturiol. Er enghraifft, rydych chi'n tanysgrifio i'r darllediad yn onCreate neu onResume yn y gweithgaredd, a rhaid i chi ganslo'r tanysgrifiad darlledu yn onDestory neu onPause. Fel arall, bydd eithriad yn cael ei riportio, felly bydd eich derbynnydd darlledu yn ddibreswyl.
Mae un manylyn arall yma sef y ddau ddull tanysgrifio. Wrth anfon darllediadau, mae angen i chi dalu sylw i: Defnyddir y dull bwriad ymhlyg ar gyfer cofrestru deinamig, felly mae angen i chi ddefnyddio bwriad ymhlyg i anfon wrth anfon darllediadau. , Fel arall ni fydd derbynnydd y darllediad yn gallu derbyn y darllediad. Rhowch sylw i'r pwynt hwn. Ond wrth danysgrifio yn statig, oherwydd ei fod wedi'i danysgrifio yn AndroidMainfest.xml, mae'n bosibl defnyddio Bwriad arddangos a Bwriad ymhlyg wrth anfon darllediadau (wrth gwrs mae hyn ar gyfer derbynyddion darlledu a ddiffinnir gennym ni yn unig), felly rhag ofn, rydyn ni'n defnyddio ymhlyg yn gyffredinol. Bwriad anfon darllediad.
Gadewch i ni edrych ar enghraifft:
Cymerwch gip ar strwythur y prosiect:
Cymerwch gip ar y darllediad tanysgrifiad statig:
pecyn com.broadcast.demo;
mewnforio android.app.Activity;
mewnforio android.content.Intent;
mewnforio android.os.Bundle;
mewnforio android.view.View;
mewnforio android.view.View.OnClickListener;
mewnforio android.widget.Button;
mewnforio com.example.androidbroadcastdemo.R;
/ **
* Darllediad tanysgrifiad statig
* @awdur weijiang204321
*
*/
dosbarth cyhoeddus StaticRegisterBroadcastActivity yn ymestyn Gweithgaredd {
@Diystyru
gwagle gwarchodedig onCreate (Bwndel wedi'i arbedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
Botwm btn = (Botwm) findViewById (R.id.btn);
I
btn.setOnClickListener (OnClickListener newydd () {
@Diystyru
gwagle cyhoeddus onClick (Gweld v) {
// Defnyddiwch ffordd statig i gofrestru'r darllediad, gallwch ddefnyddio'r bwriad arddangos i anfon y darllediad
Darllediad bwriadol = Bwriad newydd ("com.broadcast.set.broadcast");
sendBroadcast (darllediad, null);
}
I
});
}
I
}
Tanysgrifiwch yn AndroidMainfest.xml:
<maniffest xmlns:android="http://schemas.android.com/apk/res/android"
pecyn = "com.example.androidbroadcastdemo"
android: versionCode = "1"
android: versionName = "1.0">
<defnyddiau-sdk
android: minSdkVersion = "8"
android: targetSdkVersion = "18" />
< cais
android: allowBackup = "gwir"
android: icon = "@ drawable / ic_launcher"
android: label = "@ string / app_name"
android: theme = "@ style / AppTheme">
< gweithgaredd
android: name = "com.broadcast.demo.StaticRegisterBroadcastActivity"
android: label = "@ string / app_name">
Peidiwch â phoeni am y cynnwys arall am y tro, fel y byddwn yn siarad amdano yn nes ymlaen, yma rydym ond yn canolbwyntio ar gofrestru darllediadau statig
Gadewch i ni edrych ar dderbynnydd y darllediad:
pecyn com.broadcast.receiver;
mewnforio android.content.BroadcastReceiver;
mewnforio android.content.Context;
mewnforio android.content.Intent;
mewnforio android.util.Log;
/ **
* Derbynnydd darlledu
* @awdur weijiang204321
*
*/
dosbarth cyhoeddus UnSortBroadcastReceiver yn estyn BroadcastReceiver {
@Diystyru
gwagle cyhoeddus onReceive (Cyd-destun cyd-destun, Bwriad bwriad) {
Log.e ("Intent_Action:", intent.getAction () + "");
}
}
Mae'r rhesymeg yn y dull onReceive yn y derbynnydd darlledu yn syml iawn, sef argraffu cynnwys y Weithred.
Rhedeg y rhaglen, mae'r canlyniad yn syml iawn, nid dyma'r llun.
Gadewch i ni edrych ar danysgrifiadau deinamig:
pecyn com.broadcast.demo;
mewnforio android.app.Activity;
mewnforio android.content.Intent;
mewnforio android.content.IntentFilter;
mewnforio android.os.Bundle;
mewnforio android.view.View;
mewnforio android.view.View.OnClickListener;
mewnforio android.widget.Button;
mewnforio com.broadcast.receiver.UnSortBroadcastReceiver;
mewnforio com.example.androidbroadcastdemo.R;
/ **
* Defnyddiwch ffordd ddeinamig i gofrestru darllediad
* @awdur weijiang204321
*
*/
dosbarth cyhoeddus DynamicRegisterBroadcastActivity yn ymestyn Gweithgaredd {
I
llinyn terfynol statig cyhoeddus NEW_LIFEFORM_DETECTED = "com.dxz.broadcasttest.NEW_LIFEFORM";
derbynnydd UnSortBroadcastReceiver gwarchodedig;
I
@Diystyru
gwagle gwarchodedig onCreate (Bwndel wedi'i arbedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
Botwm btn0 = (Botwm) findViewById (R.id.btn);
btn0.setOnClickListener (OnClickListener newydd () {
gwagle cyhoeddus onClick (Gweld v) {
// Anfon darllediad
Bwriad iddo = Bwriad newydd (NEW_LIFEFORM_DETECTED);
sendBroadcast (fe);
}
});
}
@Diystyru
gwagle gwarchodedig onResume () {
super.onResume ();
// Cofrestrwch i'w ddarlledu
IntentFilter counterActionFilter = IntentFilter newydd (NEW_LIFEFORM_DETECTED);
derbynnydd = UnSortBroadcastReceiver () newydd;
registerReceiver (derbynnydd, counterActionFilter);
}
@Diystyru
gwagle gwarchodedig onPause () {
super.onPause ();
// Canslo darllediad
unregisterReceiver (derbynnydd);
}
}
Yma rydym yn tanysgrifio i ddarlledu yn onResume, ac yn dad-danysgrifio i ddarlledu yn onPause.
Newid y Gweithgaredd a lansiwyd i DynamicRegisterBroadcastActivity yn AndroidMainfest.xml. Nid oes angen addasu'r cynnwys arall. Mae rhedeg y rhaglen ac argraffu'r canlyniad yn syml iawn, felly ni fyddaf yn gweld y llun yma.
Gadewch i ni edrych ar ddarlledu trefnus a darlledu heb orchymyn
Rydym eisoes wedi crybwyll hyn ar y dechrau, gadewch i ni edrych ar ddarlledu anhrefnus:
Yn gyntaf rydym yn diffinio dau dderbynnydd darlledu:
Y derbynnydd darlledu cyntaf:
pecyn com.broadcast.receiver;
mewnforio android.content.BroadcastReceiver;
mewnforio android.content.Context;
mewnforio android.content.Intent;
mewnforio android.util.Log;
/ **
* Derbynnydd darlledu A.
* @awdur weijiang204321
*
*/
dosbarth cyhoeddus SortBroadcastReceiverA yn estyn BroadcastReceiver {
@Diystyru
gwagle cyhoeddus onReceive (Cyd-destun cyd-destun, Bwriad bwriad) {
Log.e ("Demo:", "derbynnydd darlledu A");
}
}
Yr ail dderbynnydd darlledu:
pecyn com.broadcast.receiver;
mewnforio android.content.BroadcastReceiver;
mewnforio android.content.Context;
mewnforio android.content.Intent;
mewnforio android.util.Log;
/ **
* Derbynnydd darlledu B.
* @awdur weijiang204321
*
*/
dosbarth cyhoeddus SortBroadcastReceiverB yn estyn BroadcastReceiver {
@Diystyru
gwagle cyhoeddus onReceive (Cyd-destun cyd-destun, Bwriad bwriad) {
Log.e ("Demo:", "Darllediad B");
}
I
I
}
Tanysgrifiwch i ddarlledu yn AndroidMainfest.xml
canlyniad y llawdriniaeth:
Mae'r canlyniad rhedeg ychydig yn rhyfedd. Pam mae derbynnydd B yn y tu blaen a derbynnydd A yn y cefn? Y rheswm yw, pan fyddwn yn tanysgrifio i'r darllediad yn AndroidMainfest.xml, ein bod yn gosod yr android: gwerth priodoledd blaenoriaeth yn yr hidlydd bwriad. Po fwyaf yw'r gwerth, yr uchaf yw'r flaenoriaeth. , Blaenoriaeth derbynnydd B yw 1000, blaenoriaeth derbynnydd A yw 999, felly mae B yn derbyn y darllediad yn gyntaf, ac yna mae A yn ei dderbyn, ond nid oes cysylltiad rhwng derbynnydd B a derbynnydd A, ac ni all fod unrhyw ryngweithio Oes, oherwydd bod hwn yn ddarllediad allan o drefn ac yn asyncronig, gallwn wneud arbrawf trwy ychwanegu cod at y dull onReceiver yn B:
abortBroadcast (); // Terfynu trosglwyddiad y darllediad hwn
canlyniad y llawdriniaeth:
Gallwn weld y gwall prydlon, hynny yw, ni chaniateir i ddarllediad heb orchymyn derfynu'r darllediad. Mewn gwirionedd, mae terfynu yn ddiwerth, oherwydd mae derbynnydd A yn dal i dderbyn y darllediad.
Gadewch i ni edrych ar ddarlledu trefnus, mae angen addasu'r cod:
Y cyntaf yw wrth anfon darllediad:
Darllediad bwriadol = Bwriad newydd ("com.broadcast.set.broadcast");
sendOrderedBroadcast (darllediad, null);
Yna ychwanegwch ddull i derfynu'r darllediad yn y derbynnydd B:
abortBroadcast ();
Nid oes angen addasu'r cod arall, canlyniad y llawdriniaeth:
Dim ond derbynnydd B sydd yno, nid yw derbynnydd A yn derbyn y darllediad, oherwydd bod y darllediad wedi'i derfynu yn nerbynydd B, ac ni all y derbynwyr dilynol ei dderbyn.
Addaswch y cod isod:
Derbynnydd B:
pecyn com.broadcast.receiver;
mewnforio android.content.BroadcastReceiver;
mewnforio android.content.Context;
mewnforio android.content.Intent;
mewnforio android.os.Bundle;
mewnforio android.util.Log;
/ **
* Derbynnydd darlledu B.
* @awdur weijiang204321
*
*/
dosbarth cyhoeddus SortBroadcastReceiverB yn estyn BroadcastReceiver {
@Diystyru
gwagle cyhoeddus onReceive (Cyd-destun cyd-destun, Bwriad bwriad) {
Log.e ("Demo:", "derbynnydd darlledu B");
Bwndel bwndel = Bwndel newydd ();
bundle.putString ("next_receiver", "derbynnydd darlledu nesaf");
setResultExtras (bwndel);
}
I
}
Ar ôl i B dderbyn y darllediad, mae'n storio rhywfaint o werth ac yn ei drosglwyddo i'r derbynnydd nesaf.
Cod derbynnydd A:
pecyn com.broadcast.receive
Mae ein cynnyrch eraill:
Pecyn Offer Gorsaf Radio FM Proffesiynol
|
||
|
Rhowch e-bost i gael syrpréis
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Affricaneg
sq.fmuser.org -> Albaneg
ar.fmuser.org -> Arabeg
hy.fmuser.org -> Armeneg
az.fmuser.org -> Aserbaijani
eu.fmuser.org -> Basgeg
be.fmuser.org -> Belarwseg
bg.fmuser.org -> Bwlgaria
ca.fmuser.org -> Catalaneg
zh-CN.fmuser.org -> Tsieineaidd (Syml)
zh-TW.fmuser.org -> Tsieineaidd (Traddodiadol)
hr.fmuser.org -> Croateg
cs.fmuser.org -> Tsiec
da.fmuser.org -> Daneg
nl.fmuser.org -> Iseldireg
et.fmuser.org -> Estoneg
tl.fmuser.org -> Ffilipineg
fi.fmuser.org -> Ffinneg
fr.fmuser.org -> Ffrangeg
gl.fmuser.org -> Galisia
ka.fmuser.org -> Sioraidd
de.fmuser.org -> Almaeneg
el.fmuser.org -> Groeg
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebraeg
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hwngari
is.fmuser.org -> Gwlad yr Iâ
id.fmuser.org -> Indonesia
ga.fmuser.org -> Gwyddeleg
it.fmuser.org -> Eidaleg
ja.fmuser.org -> Japaneaidd
ko.fmuser.org -> Corea
lv.fmuser.org -> Latfia
lt.fmuser.org -> Lithwaneg
mk.fmuser.org -> Macedoneg
ms.fmuser.org -> Maleieg
mt.fmuser.org -> Malteg
no.fmuser.org -> Norwyeg
fa.fmuser.org -> Perseg
pl.fmuser.org -> Pwyleg
pt.fmuser.org -> Portiwgaleg
ro.fmuser.org -> Rwmaneg
ru.fmuser.org -> Rwseg
sr.fmuser.org -> Serbeg
sk.fmuser.org -> Slofacia
sl.fmuser.org -> Slofenia
es.fmuser.org -> Sbaeneg
sw.fmuser.org -> Swahili
sv.fmuser.org -> Sweden
th.fmuser.org -> Thai
tr.fmuser.org -> Twrceg
uk.fmuser.org -> Wcrain
ur.fmuser.org -> Wrdw
vi.fmuser.org -> Fietnam
cy.fmuser.org -> Cymraeg
yi.fmuser.org -> Iddew-Almaeneg
Fideo Trosglwyddo Wirless FMUSER A Sain Yn Haws!
Cysylltu
Cyfeiriad:
Rhif 305 Ystafell HuiLan Adeilad Rhif.273 Huanpu Road Guangzhou China 510620
Categoriau
Cylchlythyr