Android i├žin uygun kullan─▒m ├Ârnekleri UserManager.isUserAGoat ()?


Al─▒nan cevaba git


Android 4.2'de tan─▒t─▒lan yeni API'lere bak─▒yordum . UserManager S─▒n─▒fa bakarken ┼ču y├Ântemle kar┼č─▒la┼čt─▒m:

 public boolean isUserAGoat()
 

Bu ├ža─čr─▒y─▒ yapan kullan─▒c─▒n─▒n ─▒┼č─▒nlanmalara tabi olup olmad─▒─č─▒n─▒ belirlemek i├žin kullan─▒l─▒r.

Bu aramay─▒ yapan kullan─▒c─▒n─▒n ke├ži olup olmad─▒─č─▒n─▒ d├Ând├╝r├╝r.

Bu nas─▒l ve ne zaman kullan─▒lmal─▒d─▒r?


3481









Cevap say─▒s─▒n─▒ say: 11






Onlar─▒n itibaren kayna─č─▒nda , y├Ântem d├Ânmek i├žin kullan─▒lan false bu API 21 de─či┼čtirildi─či kadar.

 /**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 * @return whether the user making this call is a goat 
 */
public boolean isUserAGoat() {
    return false;
}
 

Y├Ântemin geli┼čtiriciler olarak bizim i├žin hi├žbir faydas─▒ yok gibi g├Âr├╝n├╝yor. Birisi daha ├Ânce bir Paskalya yumurtas─▒ olabilece─čini s├Âylemi┼čti .

API 21'de uygulama, pakette y├╝kl├╝ bir uygulama olup olmad─▒─č─▒n─▒ kontrol etmek i├žin de─či┼čtirildi com.coffeestainstudios.goatsimulator

 /**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 *
 * <p>As of {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this method can
 * now automatically identify goats using advanced goat recognition technology.</p>
 *
 * @return Returns true if the user making this call is a goat.
 */
public boolean isUserAGoat() {
    return mContext.getPackageManager()
            .isPackageAvailable("com.coffeestainstudios.goatsimulator");
}
 

─░┼čte kaynak ve de─či┼čim .


1712


2012-11-14





Bunun "resmi" bir durum olup olmad─▒─č─▒n─▒ bilmiyorum, ancak a┼ča─č─▒dakiler Java'da bir uyar─▒ olu┼čturur (bu, return ifadelerle kar─▒┼čt─▒r─▒ld─▒─č─▒nda derleme hatalar─▒ olu┼čturabilir ve ula┼č─▒lamaz kodlara yol a├žabilir):

 while (1 == 2) { // Note that "if" is treated differently
    System.out.println("Unreachable code");
}
 

Ancak bu yasald─▒r:

 while (isUserAGoat()) {
    System.out.println("Unreachable but determined at runtime, not at compile time");
}
 

Bu y├╝zden s─▒k s─▒k kendimi bir kod blo─čunu bo┼ča ├ž─▒karman─▒n en h─▒zl─▒ yolu i├žin aptalca bir yard─▒mc─▒ program y├Ântemi yazarken buluyorum, ard─▒ndan hata ay─▒klamay─▒ tamamlarken t├╝m ├ža─čr─▒lar─▒ buluyorum, b├Âylece uygulama bunun i├žin kullan─▒lamamas─▒ ┼čart─▒yla.

JLS i┼čaret if (false) yani bu hata ay─▒klama bayraklar─▒ i├žin destek da─č─▒laca─č─▒ y├Ân├╝ndeki belirli bir nedenden dolay─▒ "ula┼č─▒lamaz kod", temelde bu kullan─▒m ├Ârne─či (h / t @auselen) tetiklemez. ( static final boolean DEBUG = false; ├Ârne─čin).

Ben yerini while i├žin if daha belirsiz kullan─▒m durumunda ├╝reten. Ben inan─▒yorum Bu ┼čekilde davranmaya, Eclipse gibi IDE ├želme, ancak bu d├╝zenleme gelece─če 4 y─▒l, ve ben oynamak i├žin bir Eclipse ortam─▒ yok.


961







Bu Google'da bir i├ž ┼čaka gibi g├Âr├╝n├╝yor. Ayn─▒ zamanda Google Chrome g├Ârev y├Âneticisinde de yer ald─▒. Baz─▒ m├╝hendislerin e─členceli bulmas─▒ndan ba┼čka bir amac─▒ yoktur. ─░sterseniz bu kendi ba┼č─▒na bir ama├žt─▒r.

  1. Chrome'da, G├Ârev Y├Âneticisi'ni Shift+ ile a├ž─▒n Esc.
  2. Goats Teleported S├╝tunu eklemek i├žin sa─č t─▒klay─▒n .
  3. Merak etmek.

Teleported ├žok say─▒da ke├ži hakk─▒nda b├╝y├╝k bir Chromium b├Âcek raporu bile var .


krom

A┼ča─č─▒daki Chromium kaynak kod pasaj─▒ HN yorumlar─▒ndan ├žal─▒nm─▒┼č .

 int TaskManagerModel::GetGoatsTeleported(int index) const {
  int seed = goat_salt_ * (index + 1);
  return (seed >> 16) & 255;
}
 

745


2012-11-14





@Djechlin cevab─▒n─▒ tamamlayan (bu arada iyi cevap!), Bu fonksiyon ├ža─čr─▒s─▒, ├Ârne─čin, belirli bir yinelemeli ├ža─čr─▒y─▒ veya belirli bir ├Âzyinelemeli ├ža─čr─▒y─▒ durdurmak istedi─činizde, bir IDE'de bir kesme noktas─▒n─▒ tutmak i├žin bo┼č kod olarak da kullan─▒labilir:


g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin

isUserAGoat() IDE'de bir uyar─▒ olarak g├Âsterilecek olan sahte de─či┼čken bildirimi yerine kullan─▒labilir ve Eclipse ├Âzel durumunda, kesme noktas─▒ i┼čaretini t─▒katarak etkinle┼čtirmeyi / devre d─▒┼č─▒ b─▒rakmay─▒ zorla┼čt─▒rabilir. Y├Ântem bir kural olarak kullan─▒l─▒rsa, t├╝m istilalar daha sonra bir senaryo taraf─▒ndan filtrelenebilir (i┼člem a┼čamas─▒nda belki?).


g├Âr├╝nt├╝ tan─▒m─▒n─▒ buraya girin

Google adamlar─▒ a─č─▒r Eclipse kullan─▒c─▒lar─▒d─▒r (projelerinin bir├žo─čunu Eclipse eklentileri olarak sunmaktad─▒rlar: Android SDK, GAE, vb.), @Djechlin cevab─▒ ve bu tamamlay─▒c─▒ cevab─▒ ├žok mant─▒kl─▒ geliyor (en az─▒ndan benim i├žin).


281







Android'in her s├╝r├╝m├╝nde, komik / sabit / komik ad─▒nda bir ad var.

G├Ârd├╝─č├╝m tek pratik kullan─▒m , yar─▒┼čmac─▒lar─▒n her s├╝r├╝m i├žin API fark raporunu okuyup okumad─▒klar─▒n─▒ g├Ârmek i├žin belirli bir s├╝r├╝m├╝n ne oldu─čunu sorduklar─▒ Son Google G / ├ç Yar─▒┼čmas─▒ÔÇÖyd─▒. Yar─▒┼čmada da programlama sorunlar─▒ vard─▒, ancak genellikle ba┼čvuru say─▒s─▒n─▒ kontrol etmesi kolay olan makul miktarlara indirgemek i├žin otomatik olarak derecelendirilebilecek baz─▒ bilgiler.


140







Konu┼čma tan─▒ma disiplinde, kullan─▒c─▒lar ke├ži ve koyunlara ayr─▒l─▒r .

├ľrne─čin, burada 89. sayfada :

Koyunlar, konu┼čma tan─▒man─▒n son derece iyi ├žal─▒┼čt─▒─č─▒, ke├žiler ise son derece k├Ât├╝ ├žal─▒┼čt─▒─č─▒ ki┼čilerdir. Sadece ses tan─▒y─▒c─▒, onlar─▒ neyin ay─▒rd─▒─č─▒n─▒ bilir. ─░nsanlar kimin sesinin kolayca tan─▒naca─č─▒n─▒ ve kimin olmayaca─č─▒n─▒ tahmin edemezler. En iyi politika, aray├╝z├╝ her t├╝rl├╝ seste her t├╝rl├╝ sesi i┼čleyebilecek ┼čekilde tasarlamakt─▒r.

Belki de, konu┼čma tan─▒ma motorunu ke├žilerin ihtiya├žlar─▒ i├žin yap─▒land─▒rabilmeleri i├žin Android kullan─▒c─▒lar─▒n─▒n gelecekte ke├ži olarak i┼čaretlenmesi planlanmaktad─▒r. ;-)


130







GoogleÔÇÖ─▒n ke├ži ve ke├ži bazl─▒ Paskalya yumurtalar─▒ i├žin ciddi bir be─čenisi vard─▒r . Bu konuda daha ├Ânce Stack Overflow yay─▒nlar─▒ bile oldu .

├ľnceki yay─▒nlarda belirtildi─či gibi, Chrome g├Ârev y├Âneticisinde de var ( ilk olarak 2009'da vah┼či g├Âr├╝nd├╝ ):

 <message name="IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN" desc="The goats teleported column">
    Goats Teleported
</message>
 

Ve daha sonra Windows, Linux ve Mac s├╝r├╝mlerinde Chrome 2010'un ba┼člar─▒nda ). "Teleported Teleported" say─▒s─▒ asl─▒nda rastlant─▒sald─▒r :

  int TaskManagerModel::GetGoatsTeleported(int index) const {
     int seed = goat_salt_ * (index + 1);
     return (seed >> 16) & 255;
 }
 

Ke├žilere yap─▒lan di─čer Google referanslar─▒:

Ke├žilerin ve Google'─▒n en eski korelasyonu, s├Âyleyebilece─čim kadar─▒yla, orijinal "Ke├ži ile bi├žme" blog yaz─▒s─▒na aittir.

Bunun yaln─▒zca bir Paskalya yumurtas─▒ oldu─čunu ve geri d├Ân├╝┼č d─▒┼č─▒nda ger├žek d├╝nya kullan─▒m─▒n─▒n olmad─▒─č─▒n─▒ g├╝venle s├Âyleyebiliriz false .


122







API 21'den (ilk Android 5.0 / Lollipop SDK) , bu, Ke├ži Sim├╝lat├Âr├╝ uygulamas─▒n─▒n y├╝kl├╝ olup olmad─▒─č─▒n─▒ alg─▒lar :

 /**
 * Used to determine whether the user making this call is subject to
 * teleportations.
 *
 * <p>As of {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this method can
 * now automatically identify goats using advanced goat recognition technology.</p>
 *
 * @return Returns true if the user making this call is a goat.
 */
public boolean isUserAGoat() {
    return mContext.getPackageManager()
            .isPackageAvailable("com.coffeestainstudios.goatsimulator");
}
 

Bu, djechlin'in bunu bir uyar─▒ i├žermeyen olarak kullanma ├Ânerisinin if (false) potansiyel olarak feci bir strateji oldu─čunu a├ž─▒k├ža belirtmelidir . false Her cihaz i├žin daha ├Ânce d├Ând├╝r├╝len ┼čey ┼čimdi g├Âr├╝n├╝┼čte rastgele bir de─čer d├Ând├╝r├╝r: kodunuzda yeterince derin bir ┼čekilde g├Âm├╝lm├╝┼č olsayd─▒ , yeni hatalar─▒n─▒z─▒n nereden geldi─čini anlamak uzun zaman alabilir .

Alt sat─▒r: Bir y├Ântemin uygulanmas─▒n─▒ kontrol etmezseniz ve onu API dok├╝mantasyonunda belirtilenler d─▒┼č─▒nda bir ama├ž i├žin kullanmaya karar verirseniz, sorunlara y├Ânelmi┼č olursunuz.


117







MonkeyRunner arac─▒ kullan─▒l─▒yorsa isUserAMonkey() do─čru olan benzer bir ├ža─čr─▒ var . SDK a├ž─▒klamas─▒ bu kadar merak uyand─▒r─▒c─▒.http://developer.android.com/tools/help/monkeyrunner_concepts.html

 public static boolean isUserAMonkey(){}     
 

true Kullan─▒c─▒ aray├╝z├╝ ┼ču anda bir maymun taraf─▒ndan kar─▒┼čt─▒r─▒l─▒yorsa d├Ând├╝r├╝r .

─░┼čte kaynak.

Bunun, ke├ži olan bir ┼čey ad─▒ verilen yeni bir SDK arac─▒ beklentisiyle eklendi─čini ve bu arac─▒n varl─▒─č─▒n─▒ test etmek i├žin ger├žekten i┼člevsel olaca─č─▒n─▒ umuyorum.

Ayr─▒ca Benzer bir soruya bak─▒n , ActivityManager'daki Garip i┼člev: isUserAMonkey. Bu ne anlama geliyor, kullan─▒m─▒ nedir? .


104


2012-11-16





Komik Paskalya Yumurtas─▒.
Chrome'un Ubuntu s├╝r├╝m├╝nde, G├Ârev Y├Âneticisi'nde ( shift+ esc), sa─č t─▒klad─▒─č─▒n─▒zda, ─░talyanca s├╝r├╝mde "Capre Teletrasportate" (Teleported Goats) olan bir bilim-kurgu s├╝tunu ekleyebilirsiniz.

Bununla ilgili komik bir teori burada .


37


2014-02-06





Bu bir i├ž ┼čaka de─čil G├Âr├╝n├╝┼če g├Âre sadece Ke├ži Sim├╝lat├Âr├╝ i├žin bir uygulama denetleyicisi - Coffee Stain Studios taraf─▒ndan

Y├╝kl├╝ Ke├ži Sim├╝lat├Âr├╝n├╝z varsa, bir Ke├ži konum. E─čer y├╝kl├╝ de─čilse, bir ke├ži de─čil.

San─▒r─▒m geli┼čtiricilerin biri taraf─▒ndan ki┼čisel deney yapman─▒n, b├╝y├╝k olas─▒l─▒kla ortak bir ilgiye sahip insanlar─▒ bulman─▒n sosyal bir deney oldu─čunu hayal ediyorum.


2