昨天我的模拟器运行稳定且良好。但是今天我无法启动我的应用程序,因为我看不到任何genymotion设备。我已经重新安装了AS和Genymotion。我已经重新安装了虚拟设备。但是我仍然看不到任何设备。我以为我遇到了AS的问题,我在Android Studio上创建了AVD,我设法创建了一个新设备,但是我没有启动我的应用程序。我不知道如何解决这个问题。我看到了这个问题。正如我在genymotion仪表板上看到的那样,我的虚拟设备继续启动,并且无论如何都无法完成启动。
我想提交我在 AS 项目中所做的更改。但我看到更改列表包含release文件夹:
这意味着我将提交apk在构建安装程序期间生成的可行文件和一些配置文件。我也可以取消勾选这些文件,但是当我下次尝试提交时,我会再次看到这些文件。也许我可以从我的更改列表中完全删除这些文件,并防止它在下次出现。我认为这是因为我在终端尝试了一些命令并且一个命令可以添加这些文件,我认为是:
git commit --am
那么,如何在不破坏所有项目的情况下解决这个问题?
我可以用以下命令解决我的问题吗:
git rm --app-release.apk ?
我是 iOS 开发的新手,所以我在这里展示和询问的一些事情可能很愚蠢,请不要生气:) 因此,我需要在我的应用程序中添加从本地存储中选取文件的支持。此功能将用于选择文件 -> 编码为 Base64,然后发送到远程服务器。现在,我在将此功能添加到我的应用程序时遇到一些问题。我找到了本教程并执行了此处提到的所有操作:
添加了导入 -import MobileCoreServices
添加实施 -UIDocumentPickerDelegate
添加了此代码范围以显示选择器:
let documentPicker = UIDocumentPickerViewController(documentTypes: [String(kUTTypeText),String(kUTTypeContent),String(kUTTypeItem),String(kUTTypeData)], in: .import)
documentPicker.delegate = self
self.present(documentPicker, animated: true)
Run Code Online (Sandbox Code Playgroud)
还添加了所选文件的处理程序:
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
print(urls)
}
Run Code Online (Sandbox Code Playgroud)
一般来说,文件选择器出现在模拟器屏幕上,但我在 XCode 中看到警告:
'init(documentTypes:in:)' was deprecated in iOS 14.0
Run Code Online (Sandbox Code Playgroud)
我访问了官方指南,在这里还发现了有关弃用某些方法的类似信息。那么,我如何才能解决我的文件选择问题,以与最新的iOS版本完全兼容。另一个问题 - 我如何对选定的文件进行编码?现在我可以选择文件并打印其位置,但我需要获取其数据,如名称、编码内容等。也许有人面临类似的问题并且知道解决方案?我需要将其添加到普通视图控制器中,因此当我尝试添加此实现时:
UIDocumentPickerViewController
Run Code Online (Sandbox Code Playgroud)
我看到这样的错误信息:
Multiple inheritance from classes 'UIViewController' and 'UIDocumentPickerViewController'
Run Code Online (Sandbox Code Playgroud)
我将非常高兴获得任何信息:教程或建议:)
一切都很好,直到今天我对远程服务器的所有推送都成功了。我开始收到错误:
远程URL测试失败:getLastSuccessful失败。令牌:a7995c09-4e90-44f4-b143-67445d302f75,用户名:my_server_adress,客户端:http:// localhost:63342 / RPC2 java.lang.RuntimeException:调用失败服务器返回HTTP响应代码:401,URL: http:// localhost :63342 / RPC2,位于org.jetbrains.git4idea.ssh.GitSSHXmlRpcClient.getLastSuccessful(GitSSHXmlRpcClient.java:200),位于org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:201),位于org.jetbrains.git4ideas。 org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:125)处的.SSHMain.start(SSHMain.java:162)原因:java.io.IOException:服务器返回URL的HTTP响应代码:401: http ://本地主机:63342 / RPC2在sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)在org.apache.xmlrpc.DefaultXmlRpcTransport的sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) org.apache.xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:72)的org.apache.xmlrpc的.sendXmlRpc(DefaultXmlRpcTransport.java:87)org.apache.xmlrpc的org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:194)的。 org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:178)的XmlRpcClient.execute(XmlRpcClient.java:185)org.jetbrains.git4idea.ssh.GitSSHXmlRpcClient.getLastSuccessful(GitSSHXmlRpcClient.java:196)3 ...更多无法从远程存储库读取。请确保您具有正确的访问权限,并且存储库存在。
也许此错误是由AS的最新更新引起的?我需要做什么来推动代码更改?
这张图片是从我目前的项目中拍摄的,但它是用它创建的,SwipeRevealLayout我很难自定义它。前几天,我看到了这个问题,并明白我可以ItemTouchHelper用来解决我的问题。我找到了这段代码并尝试在我的项目中使用它:
val simpleCallback = object : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT) {
override fun onMove(p0: RecyclerView, p1: RecyclerView.ViewHolder, p2: RecyclerView.ViewHolder): Boolean {
return false
}
override fun getSwipeDirs(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder): Int {
val position = viewHolder.adapterPosition
if (position != editPosition) {
if (editPosition != -1 && flagSwiped) {
adapter.notifyItemChanged(position)
flagSwiped = false
editPosition = position
}
}
return super.getSwipeDirs(recyclerView, viewHolder)
}
override fun onSwiped(holder: RecyclerView.ViewHolder, direction: Int) {
} …Run Code Online (Sandbox Code Playgroud) 我正在使用这样的教程。我像本教程中一样添加了自己的模块和 viemodel,仅更改了实现:
implementation "io.insert-koin:koin-core:3.0.2"
implementation "io.insert-koin:koin-android:3.0.2"
Run Code Online (Sandbox Code Playgroud)
代替:
implementation "org.koin:koin-android:2.0.1"
implementation 'org.koin:koin-androidx-viewmodel:2.0.1'
implementation 'org.koin:koin-androidx-scope:2.0.1'
Run Code Online (Sandbox Code Playgroud)
将它们注册到 App 类中:
class App : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidLogger(Level.DEBUG)
androidContext(this@App)
modules(listOf(repositoryModule, viewModelModule, retrofitModule, apiModule))
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到这样的错误:
java.lang.IncompatibleClassChangeError: Found interface kotlin.time.TimeMark, but class was expected (declaration of 'kotlin.time.TimeMark' appears in /data/app/pkg-ptdpYgWwV-BVxpo5sVLPxg==/base.apk!classes15.dex)
Run Code Online (Sandbox Code Playgroud)
它指向这条线:
modules(listOf(repositoryModule, viewModelModule, retrofitModule, apiModule))
Run Code Online (Sandbox Code Playgroud)
我的模块如下:
val viewModelModule = module {
viewModel {
UserViewModel(get())
}
}
val repositoryModule = module {
single {
UserRepository(get())
}
} …Run Code Online (Sandbox Code Playgroud) 我的应用程序从服务器获得一些响应,并且在该响应中我还收到访问令牌,我必须在进一步的操作中使用它,通常我设法从我的响应中获取此令牌,现在我可以在 textView 中看到它。但无论如何,我必须像刷新以下令牌一样创建 smth,因为我认为我的用户不会很乐意在当前令牌过期后多次登录我的应用程序。所以现在我有一个非常严重的问题,比如如何插入以下令牌,我可以从我的响应中获取到我的请求:
@Headers({"Content-type: application/json",
"Authorization: Bearer my token"})
@GET("/v1/message/list")
Call<ListOfMess> getInMess(@Query("type") int type, @Query("offset") int offset);
Run Code Online (Sandbox Code Playgroud)
现在我必须每半小时插入最后一个令牌,因为我将无法获得任何数据。我尝试将以下令牌插入到我的改造初始化中:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://server/")
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
Run Code Online (Sandbox Code Playgroud)
但它没有正常工作。因此,一段时间后我知道我可以通过共享首选项存储以下令牌,而不是将其插入到任何地方,但我不知道如何创建它。我希望你能帮助 mw 解决以下问题。而且,如果您知道在一段时间后通过某些请求刷新我的令牌的方式,我会很高兴看到您的答案))对不起,我的语言技能不好。
我创建了三个用于本地化的文件:"en", "ru","uk"我看到问题应用程序可以得到一些正确的字符串和一些错误的字符串。这是什么意思?例如,一个布局在其工作期间可以包含多个语言环境而不是一个,这是错误的。我看到一些用户通过添加一些代码行解决了这个问题,buil.gradle但也许我们有另一个解决方案,为什么几周前当我的项目使用 Java 时它运行良好。我确信它不会由从一种语言转移到另一种语言引起。在 recyclerView 我可以看到类似的问题。在活动中,我可以像这样设置我当前的语言:
sp = this.getSharedPreferences("app_data", 0)
val lang = sp!!.getString("language", Locale.getDefault().language)
val locale = Locale(lang)
Locale.setDefault(locale)
val config = Configuration()
config.setLocale(locale)
resources.updateConfiguration(
config, resources.displayMetrics
)
Run Code Online (Sandbox Code Playgroud)
但是 updateConfiguration 已被弃用,我寻找了一些可以工作的新变体。然后我发现了这个问题,但它没有帮助我。我需要在 RV 项目、活动和片段中设置语言,但我做不到。为什么会发生,我该如何解决这个问题?
我必须在标题处发送承载。我看到我必须添加带有值的 hashMap:
val headerMap = HashMap<String, String>()
headerMap["Authorization: Bearer "] = context!!.getSharedPreferences("app_data", 0).getString("access_token", "")!!
Run Code Online (Sandbox Code Playgroud)
然后使用 url 发送数据:
webView.loadUrl(link, headerMap)
Run Code Online (Sandbox Code Playgroud)
但结果我发现我发送了错误的令牌格式:
authorization=bearer :token
Run Code Online (Sandbox Code Playgroud)
我如何修复它,因为使用该令牌我无法从页面获取数据?
我正在开发一个 Android 应用程序,有时我必须拍照并将其保存到图库中。相机打开并拍摄照片,但不会将其保存到图库中。这是我的代码:
public class CameraActivity extends AppCompatActivity {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camara);
dispatchTakePictureIntent();
}
static final int REQUEST_IMAGE_CAPTURE = 1;
@RequiresApi(api = Build.VERSION_CODES.M)
private void dispatchTakePictureIntent() {
if (checkSelfPermission(Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.CAMERA},
MY_CAMERA_REQUEST_CODE);
}
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
private static final int MY_CAMERA_REQUEST_CODE = 100;
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); …Run Code Online (Sandbox Code Playgroud) android ×8
git ×2
java ×2
access-token ×1
genymotion ×1
http-headers ×1
ios ×1
koin ×1
kotlin ×1
swift ×1