คำถามติดแท็ก android

Android เป็นระบบปฏิบัติการมือถือของ Google ใช้สำหรับการเขียนโปรแกรมหรือพัฒนาอุปกรณ์ดิจิตอล (สมาร์ทโฟน, แท็บเล็ต, รถยนต์, ทีวี, เครื่องแต่งกาย, แก้ว, IoT) สำหรับหัวข้อที่เกี่ยวข้องกับ Android ให้ใช้แท็กเฉพาะสำหรับ Android เช่น android-intent, android-activity, android-adapter, ฯลฯ สำหรับคำถามนอกเหนือจากการพัฒนาหรือการเขียนโปรแกรม แต่เกี่ยวข้องกับกรอบของ Android ให้ใช้ลิงค์นี้: https: // android.stackexchange.com

3
บริการที่ส่งออกไม่ต้องการการอนุญาต: หมายความว่าอย่างไร
ฉันสร้างบริการที่ถูกผูกไว้โดยแอปพลิเคชันอื่นผ่าน AIDL และฉันเพิ่มลงในรายการดังต่อไปนี้: <service android:name=".MyService"> <intent-filter> <action android:name="org.example.android.myservicedemo.IService" /> </intent-filter> </service> โดยที่ IService เป็นอินเตอร์เฟส AIDL วิธีนี้ทำให้เกิดคราสแสดงให้ฉันเตือนบริการส่งออกไม่จำเป็นต้องได้รับอนุญาต หากฉันลบintent-filterคำเตือนจะหายไป แต่แน่นอนว่าแอปพลิเคชันไม่สามารถผูกกับบริการได้ คำเตือนนี้หมายความว่าอย่างไร

11
เกม Android ช่วยให้การแฮ็ก [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ดังนั้นเราจึงผ่านมาหลายครั้งแล้วตอนนี้เราปล่อยเกม (ราคาถูก) และมีคนแฮ็คมันและวางมันบนกระจก เราตั้งค่า Google Alerts สำหรับแอปทั้งหมดของเราดังนั้นเราจะได้รับแจ้งทุกวันว่าใครกำลังแฮ็ค จนถึงตอนนี้เราได้ดำเนินการให้บริการใบอนุญาตตามที่ Google ได้แนะนำเกลือของเราจะถูกสุ่มทุกครั้งที่มีการเริ่มต้นใบอนุญาตด้วยรหัสอุปกรณ์ที่ไม่ซ้ำกัน เราเรียกใช้บริการตรวจสอบหนึ่งครั้งเมื่อเริ่มต้นแอปพลิเคชันเป็นครั้งแรก จากนั้นเราจะสร้างแฮช 512 อักขระสำหรับคีย์และค่าที่เก็บไว้ซึ่งถูกเปรียบเทียบกับใน SharedPreferences จากที่นั่น ตอนนี้ฉันรู้ว่าการตรวจสอบหนึ่งครั้งน่าจะเป็นที่ที่แอปพลิเคชันนั้นถูกบล็อก โค้ดไบต์ของเรามีการตรวจสอบและคอมไพล์ใหม่โดยไม่มีบรรทัดที่เริ่มต้นการตรวจสอบ จากที่นี่ฉันไม่ต้องการทำให้งงงวยรหัสของเราตามที่ฉันเห็นมันเสียก่อน ฉันต้องการบางสิ่งที่แข็งกว่านี้อีกเล็กน้อยและฉันต้องการเรียนรู้วิธีการทำสิ่งนี้อย่างถูกต้อง ฉันสนใจที่จะเรียนรู้มากกว่าสร้างรายได้ ณ จุดนี้เนื่องจากมีเพียง 2% เท่านั้นที่จะมองหารุ่นที่ถูกแฮ็ก จนถึงตอนนี้ด้วยตัวของฉันเองฉันได้พบกับตัวสร้างตัวเลขสุ่มที่วางอยู่ในพื้นที่เริ่มต้นหลายแห่งของเกม เมื่อเริ่มต้น (พูด 1 ใน 50 ครั้ง) ใบอนุญาตจะถูกตรวจสอบ ฉันรู้ว่าสิ่งนี้จะทำให้การแฮ็กยากขึ้นเพราะแครกเกอร์จะต้องกำจัดแต่ละกรณีคอมไพล์กำจัดกำจัดคอมไพล์ อย่างไรก็ตามวิธีนี้ยังสามารถถอดรหัสได้ ... ดังนั้นคุณแนะนำอะไร? อีกครั้งฉันสนใจกระบวนการรักษาความปลอดภัยนี้จริงๆดังนั้นโปรดให้ความรู้อย่าเปลี่ยนสิ่งนี้เป็นการสนทนาเกี่ยวกับการทำให้งงงวยหรือการตรวจสอบเป็นระยะ ๆ ตามการประทับเวลา ขอบคุณ

4
ความแตกต่างระหว่างประเภทสเกล CENTER_INSIDE และ FIT_CENTER แตกต่างกันอย่างไร
ฉันไม่สามารถบอกความแตกต่างระหว่างและImageView.ScaleType.CENTER_INSIDEImageView.ScaleType.FIT_CENTER CENTER_INSIDE ปรับขนาดภาพให้เท่ากัน (รักษาอัตราส่วนภาพ) เพื่อให้ทั้งขนาด (ความกว้างและความสูง) ของภาพจะเท่ากับหรือน้อยกว่าขนาดที่สอดคล้องกันของมุมมอง (ลบด้วยการซ้อนทับ) FIT_CENTER คำนวณสเกลที่จะรักษาอัตราส่วน src ดั้งเดิมไว้ แต่จะตรวจสอบให้แน่ใจว่า src นั้นพอดีกับ dst ทั้งหมด แกนอย่างน้อยหนึ่งแกน (X หรือ Y) จะพอดีพอดี ผลลัพธ์จะอยู่กึ่งกลางภายใน dst ใครสามารถเปล่งความแตกต่างระหว่างคนทั้งสองได้หรือไม่?

16
Kotlin-android: ฐานข้อมูลอ้างอิงที่ไม่ได้รับการแก้ไข
ฉันมีคลาสแฟรกเมนต์ต่อไปนี้เขียนใน Java โดยใช้ไลบรารี databinding ใหม่ import com.example.app.databinding.FragmentDataBdinding; public class DataFragment extends Fragment { @Nullable private FragmentDataBinding mBinding; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_data, container, false); return mBinding.getRoot(); } } มันรวบรวมและทำงานได้ดี ฉันพยายามเขียนมันใหม่ใน Kotlin และทำสิ่งต่อไปนี้: import com.example.app.databinding.FragmentDataBdinding class ProfileFragment : Fragment() { private …

6
ฉันต้องการตัวสร้างทั้งสามสำหรับมุมมองที่กำหนดเองของ Android หรือไม่
เมื่อสร้างมุมมองที่กำหนดเองฉันสังเกตว่าหลายคนดูเหมือนจะทำสิ่งนี้: public MyView(Context context) { super(context); // this constructor used when programmatically creating view doAdditionalConstructorWork(); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); // this constructor used when creating view through XML doAdditionalConstructorWork(); } private void doAdditionalConstructorWork() { // init variables etc. } คำถามแรกของฉันคืออะไรเกี่ยวกับตัวสร้างMyView(Context context, AttributeSet attrs, int defStyle)? …

8
ทัศนวิสัย Android P การรับรู้ปุ่มตั้งค่าความสามารถในการเรียกใช้ได้จากกลุ่มไลบรารีเดียวกันเท่านั้น
ฉันกำลังพยายามใช้ Android P FloatingActionButton ใหม่ที่เป็นส่วนหนึ่งของcom.google.android.material.floatingactionbutton.FloatingActionButtonและฉันได้รับคำเตือนนี้: VisibilityAwareImageButton.setVisibility สามารถเรียกใช้ได้จากกลุ่มไลบรารีเดียวกันเท่านั้น (groupId = com.google.android.material) import com.google.android.material.floatingactionbutton.FloatingActionButton import android.view.View class MainActivity : AppCompatActivity() { lateinit var demoFab: FloatingActionButton override fun onCreate(savedInstanceState: Bundle?) { demoFab = findViewById(R.id.demoFab) demoFab.visibility = View.VISIBLE // the warning is here } } ฉันได้ลองค้นหาและผลการค้นหาเดียวที่เกี่ยวข้องกับการตอบสนองต่อการเปลี่ยนแปลงการเปิดเผย UI: ตอบสนองต่อการเปลี่ยนแปลงการเปิดเผย UI ฉันพยายามสำรวจว่าฉันสามารถดูว่ามีVISIBLEค่า int ในcom.google.android.materialแพ็คเกจนั้นและสิ่งเดียวที่ฉันพบคือcom.google.android.material.floatingactionbutton.FloatingActionButton.VISIBLEแต่คำเตือนยังคงอยู่ build.gradle ระดับบนสุด …

22
ตำแหน่ง SDK ของ Android Studio
ฉันเห็นว่ามีหัวข้อที่คล้ายกันจำนวนมากที่เกี่ยวข้องกับปัญหานี้ แต่ฉันไม่พบวิธีแก้ปัญหาสำหรับฉันในโพสต์เหล่านั้น ฉันเพิ่งติดตั้ง Android Studio v0.8.14 และจะไม่ให้ฉันสร้างโครงการใหม่เพราะฉันไม่ได้ระบุเส้นทาง SDK สำหรับชีวิตของฉันฉันไม่สามารถหาเส้นทางที่ควรจะเป็น ฉันเห็นคนจำนวนมากมีอยู่ใน C: / Android หรือบางแห่งที่คล้ายกัน แต่ไฟล์ Android เดียวที่ฉันมีอยู่บนเดสก์ท็อปของฉันในโฟลเดอร์แยกที่มาใน. zip เส้นทางทั้งหมดที่อยู่ในโฟลเดอร์นั้นไม่ถือว่าเป็นตำแหน่ง SDK ที่เหมาะสมตาม Android Studio ฉันไร้สาระอย่างสมบูรณ์และหายไปชัดเจนหรือไม่

9
วิธียกเลิกการแจ้งเตือนหลังจากมีการคลิก
ตั้งแต่ระดับ API 16 (Jelly Bean) มีความเป็นไปได้ที่จะเพิ่มการกระทำในการแจ้งเตือนด้วย builder.addAction(iconId, title, intent); แต่เมื่อฉันเพิ่มการกระทำในการแจ้งเตือนและกดการดำเนินการการแจ้งเตือนจะไม่ถูกยกเลิก เมื่อมีการคลิกการแจ้งเตือนตัวเองก็สามารถถูกยกเลิกด้วย notification.flags = Notification.FLAG_AUTO_CANCEL; หรือ builder.setAutoCancel(true); แต่เห็นได้ชัดว่าสิ่งนี้ไม่เกี่ยวข้องกับการกระทำที่เกี่ยวข้องกับการแจ้งเตือน คำใบ้ใด ๆ หรือนี่ไม่ใช่ส่วนหนึ่งของ API เลยเหรอ? ฉันไม่พบอะไรเลย

8
การขยายที่ไม่ต้องการรอบ ImageView
ฉันต้องรวมกราฟิกส่วนหัวในทุกกิจกรรม / มุมมองของฉัน ไฟล์ที่มีส่วนหัวเรียกว่า header.xml: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#0000FF" android:padding="0dip"> <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/header" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="0dip" android:layout_marginTop="0dip" android:layout_marginBottom="0dip" android:padding="0dip" android:paddingTop="0dip" android:paddingBottom="0dip" android:layout_gravity="fill" android:background="#00FF00" /> </FrameLayout> สังเกตandroid:background="#00FF00"(สีเขียว) มันเป็นเพียงจุดประสงค์ในการสร้างภาพ ฉันรวมไว้ในมุมมองของฉันเช่นนี้: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" style="@style/white_background"> <include layout="@layout/header" /> (...) ดังนั้นเมื่อฉันลองใช้จริงผลที่ได้จะเป็นรูปซ้ายแทนที่จะเป็นรูป (ขวา): (1) ส่วนนี้ - …

11
MenuItemCompat.getActionView จะส่งคืนค่าว่างเสมอ
ฉันเพิ่งติดตั้งv7 AppCompatไลบรารีการสนับสนุน แต่MenuItemCompat.getActionViewผลตอบแทนจะเป็นโมฆะใน Android ทุกรุ่นที่ฉันทดสอบ (4.2.2, 2.3.4 .... ) SearchViewจะแสดงในแถบการทำงาน แต่ก็ไม่ได้ตอบสนองต่อการสัมผัสการกระทำและไม่ขยายเพื่อแสดงตนEditTextและเป็นเช่นเดียวกับไอคอนที่เรียบง่าย @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); if (searchView != null) { SearchViewCompat.setOnQueryTextListener(searchView, mOnQueryTextListener); searchView.setIconifiedByDefault(false); Log.d(TAG,"SearchView not null"); } else Log.d(TAG, "SearchView is null"); } …

30
Gradle: การดำเนินการล้มเหลวสำหรับงาน ': processDebugManifest'
ฉันพบข้อผิดพลาดในการสร้างตั้งแต่เมื่อวาน - มันเพิ่งมาแบบสุ่ม .... สแต็คเต็มรูปแบบที่นี่: โครงการของฉันขึ้นอยู่กับห้องสมุดหลายแห่งและสร้างขึ้นโดยไม่มีปัญหาจนกระทั่งเมื่อวานนี้ (แม้จะเป็นห้องสมุด) compile 'com.google.android.gms:play-services:3.1.36' compile 'com.android.support:support-v4:13.0.0' compile project(":libs:DatabaseCreationHelper") compile project(":libs:actionbarsherlock") ใครมีความคิดวิธีการแก้ไขหรือไม่ มันมาแบบสุ่ม ... เต็ม stacktrace ที่นี่: * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ItchyFeet:processDebugManifest'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter$1.run(CacheLockReleasingTaskExecuter.java:35) at org.gradle.internal.Factories$1.create(Factories.java:22) at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179) at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232) at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142) at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83) at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter.execute(CacheLockReleasingTaskExecuter.java:33) …

2
PorterDuff.Mode หมายถึงอะไรใน Android กราฟิกมันทำอะไร?
ฉันต้องการทราบว่าPorterDuff.Mode มีความหมายอย่างไรในกราฟิกแอนดรอยด์ ฉันรู้ว่ามันเป็นโหมดการถ่ายโอน ฉันก็รู้ว่ามันมีคุณสมบัติเช่น DST_IN, ทวีคูณเป็นต้น

10
ฉันจะระบุเค้าโครงที่แตกต่างกันสำหรับแนวตั้งและแนวนอนได้อย่างไร
ฉันเห็นการอ้างอิงถึงความสามารถในการระบุไฟล์ xml เลย์เอาต์สองไฟล์แยกกันสำหรับกิจกรรมหนึ่งไฟล์สำหรับแนวตั้งและอีกไฟล์สำหรับแนวนอน ฉันไม่เคยพบข้อมูลใด ๆ เกี่ยวกับวิธีการทำเช่นนั้น ฉันจะระบุสำหรับแต่ละกิจกรรมที่ไฟล์ xml เป็นเค้าโครงแนวตั้งและเค้าโครงแนวนอนได้อย่างไร เป็นไปได้หรือไม่ที่จะระบุรูปแบบที่แตกต่างกันสำหรับขนาดหน้าจอที่แตกต่างกัน? ถ้าเป็นเช่นนั้นจะทำอย่างไร?

10
อัปเดตข้อมูลใน ListFragment เป็นส่วนหนึ่งของ ViewPager
ฉันใช้ ViewPager ความเข้ากันได้ v4 ใน Android My FragmentActivity มีกลุ่มของข้อมูลที่จะแสดงในรูปแบบที่แตกต่างกันในหน้าต่างๆใน ViewPager ของฉัน จนถึงตอนนี้ฉันมี ListFragment เดียวกัน 3 อินสแตนซ์ แต่ในอนาคตฉันจะมี ListFragments 3 อินสแตนซ์ที่ต่างกัน ViewPager อยู่บนหน้าจอโทรศัพท์แนวตั้งรายการไม่ได้อยู่ติดกัน ตอนนี้ปุ่มบน ListFragment จะเริ่มกิจกรรมเต็มหน้าแยก (ผ่าน FragmentActivity) ซึ่งส่งคืนและ FragmentActivity แก้ไขข้อมูลบันทึกจากนั้นพยายามอัปเดตมุมมองทั้งหมดใน ViewPager ที่นี่ฉันอยู่ตรงไหน public class ProgressMainActivity extends FragmentActivity { MyAdapter mAdapter; ViewPager mPager; @Override public void onCreate(Bundle savedInstanceState) { ... mAdapter …

10
ฉันจะได้รับหน้าต่างกิจกรรมสไตล์ไดอะล็อกเพื่อเติมหน้าจอได้อย่างไร?
ฉันกำลังใช้กิจกรรมกับชุดรูปแบบข้อความโต้ตอบและฉันต้องการให้เป็นแบบเต็มหน้าจอ ฉันลองทุกสิ่งแม้จะผ่าน WindowManager เพื่อขยายหน้าต่างให้เต็มความกว้างและความสูงด้วยตนเอง แต่ไม่มีอะไรทำงาน เห็นได้ชัดว่าหน้าต่างโต้ตอบ (หรือกิจกรรมที่มีชุดรูปแบบการโต้ตอบ) จะขยายตามเนื้อหา แต่จะไม่ได้ผลเสมอไป ตัวอย่างเช่นฉันแสดงวงกลมแถบความคืบหน้าซึ่งมีการตั้งค่าความกว้างและความสูงเป็น FILL_PARENT (เช่นเดียวกับที่เก็บโครงร่างของมัน) แต่ยังคงกล่องโต้ตอบล้อมรอบแถบความคืบหน้าขนาดเล็กมากแทนการเติมหน้าจอ จะต้องมีวิธีการแสดงบางสิ่งเล็ก ๆ ในหน้าต่างโต้ตอบ แต่มันขยายเป็นขนาดเต็มหน้าจอโดยไม่ต้องปรับขนาดเนื้อหาด้วยหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.