我想知道Android中搜索对话框和搜索窗口小部件之间的区别.我知道如何使用代码实现每个代码,但不了解外观,行为等方面的差异.任何帮助都将受到高度赞赏.
MainActivity.java
public class MainActivity extends AppCompatActivity {
LinearLayout llStats;
TextView txtPlayCount, txtEarned;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
llStats = (LinearLayout) findViewById(R.id.llStats);
txtPlayCount = (TextView) findViewById(R.id.txtNowPlaying);
txtEarned = (TextView) findViewById(R.id.txtEarned);
// layout background transparent
llStats.getBackground().setAlpha(150);
llStats.setVisibility(View.VISIBLE);
Intent i = getIntent();
String now_playing = i.getStringExtra("now_playing");
String earned = i.getStringExtra("earned");
// Diplaying the text
txtPlayCount.setText(now_playing);
txtEarned.setText(earned);
}
}
Run Code Online (Sandbox Code Playgroud)
SplashScreen.Java
public class SplashScreen extends Activity {
String now_playing, earned;
//Splash screen Timeout
private static int SPLASH_TIME_OUT = 3000;
@Override
protected void …
Run Code Online (Sandbox Code Playgroud) 我是 Kotlin 的 Android 开发新手。在遵循教程项目时,我需要使用ArrayAdapter
自定义类。构建项目失败并出现错误。
MainActivity.kt 类抛出错误:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
}
val dm = DataManager()
val adapterCourses = ArrayAdapter<CourseInfo>(
context = this,
android.R.layout.simple_spinner_item,
dm.courses.values.toList()
)
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will …
Run Code Online (Sandbox Code Playgroud) 我需要在 Android 的锁定屏幕上显示自定义屏幕。从逻辑上讲,我想在手机锁定时显示一个屏幕(一项活动)。
[]
我尝试了多种方法来实现此功能,但还没有成功。我关注的一些链接是:
截至目前,当应用程序处于前台状态时,我可以在锁定屏幕上显示自定义屏幕,但当应用程序处于后台/终止状态时,无法在锁定屏幕上显示自定义屏幕。请建议我的代码片段中缺少什么。
清单.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lockscreen">
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round">
<activity
android:name=".sample2.screen.LockScreenActivity"
android:excludeFromRecents="true"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:showOnLockScreen="true"
android:turnScreenOn="false"
android:noHistory="true"
android:exported="true">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".sample2.utils.LockscreenService" >
</service>
<receiver
android:name=".sample2.utils.LockscreenIntentReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver> …
Run Code Online (Sandbox Code Playgroud) TabView
当我在我的视图中推送新视图时,我试图隐藏我的视图NavigationView
,但现在似乎没有办法做到这一点(我在互联网上看到了很多东西,但似乎没有什么适合我)?
默认情况下,我的代码如下所示:
struct ContentView: View {
var body: some View {
TabView {
NavigationView {
view1
}
.tabItem {
Image(systemName: "house.fill")
Text("Home")
}
NavigationView {
view2
}
.tabItem {
Image(systemName: "bookmark.circle.fill")
Text("Bookmark")
}
}
.accentColor(.red)
}
private var view1: some View {
List {
NavigationLink {
DetailsView()
} label: {
Text("View 1")
}
}
.navigationTitle("View 1")
}
private var view2: some View {
List {
NavigationLink {
DetailsView()
} label: {
Text("View 2")
}
}
.navigationTitle("View 2") …
Run Code Online (Sandbox Code Playgroud) protobuf 定义如下:
syntax = "proto3";
package helloworld;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
Run Code Online (Sandbox Code Playgroud)
我需要将 Mockito 与 JUnit 测试一起使用。
我该如何解决这个问题?我在macOS上安装了一个新的Android Studio,我想导入dataBinding e以遵循有关该技术的教程。但是,当我导入依赖项并生成以下错误时。
(Android Studio 3.2.1 Build#AI-181.5540.7.32.5056338,建于2018年10月8日JRE:1.8.0_152-release-1136-b06 x86_64 JVM:JetBrains sro macOS 10.14.1的OpenJDK 64位服务器VM)
[kapt] An exception occurred: java.lang.NullPointerException
at java.io.File.<init>(File.java:277)
at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:77)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:203)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access$000(ProcessDataBinding.java:188)
at android.databinding.annotationprocessor.ProcessDataBinding.doProcess(ProcessDataBinding.java:90)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:65)
at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.process(annotationProcessing.kt:99)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1039)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1180)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1068)
at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:55)
at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:27)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:218)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:183)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:100)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:95)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:105)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:82)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:375)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:67)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:366)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:120)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:161)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:57)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:96)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:52) …
Run Code Online (Sandbox Code Playgroud) 我只想以“可读性强”的格式输出数字。例如,您可以将 100000 输出为 100.000,这将更具可读性。
是否有可以用于此的现有方法?
我正在尝试转换Gradle's Groovy DSL
为 Kotlin DSL
Gradle Groovy 代码是:
repositories {
maven {
url "https://repo.tools.telstra.com/repository/maven-public"
}
mavenCentral()
maven {
url 'https://plugins.gradle.org/m2/'
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其转换为Kotlin DSL
,如下所示:
repositories {
maven { url = ("https://repo.tools.telstra.com/repository/maven-public") }
mavenCentral()
maven { url = ('https://plugins.gradle.org/m2/') }
}
Run Code Online (Sandbox Code Playgroud)
这样我就得到了错误:
类型不匹配:推断的类型是 String 但 URI!预计
我如何在这里设置 URI?