小编Sye*_*ain的帖子

Android Studio 中的重构/重命名包名称无法正常工作

首先,我感谢无数关于重构包名称的帖子。我研究了其中的许多答案,但没有一个答案对我有用......我想知道是否还有其他人遇到过这样的问题,或者是否有人知道如何解决这个问题。

这是我尝试过的,几乎所有这些线程以及此处未包含的其他线程中的所有不同变体答案:

在 Android Studio 中重命名包

在 Android Studio 中重构包名称

如何重命名android包名称?

当我创建我的项目时,我比现在更绿草,所以就以我的名字命名了公司。现在我即将启动我的应用程序,我意识到将我的名字作为包名称“公司”显然不像我的公司那样优雅和专业。所以我尝试重构包名称,如下所示:

当前 = 第一个最后一个.应用程序名称

重命名 = com.公司名称.应用程序名称

我遇到的问题:我尝试通过实际重构进行重构,而 IntelliJ 实际上并没有重构所有内容,我更改了清单和 gradle 中的包名称,但仍然不起作用。然后更糟糕的是,清理完所有错误后,项目目录中会随机弹出带有旧包名称的新包,我将其删除,然后又弹出更多包。我再次删除这些文件,最后只剩下新的包目录,但是,我清理并重建并且没有收到任何错误,但是当我尝试启动时,我得到: 在项目或库中找不到清单中引用的类,一些相关的内容到 dex...我追踪并修复这些错误,但一无所获。此时我的项目已经搞砸了,我考虑删除它并使用备份......相反,我使用历史记录来回到过去......

我还尝试创建一个新包,并将所有类和文件移动到新创建的包中,并删除旧的包,但这有它自己的蠕虫,看起来比上面的更混乱。

我很困惑为什么这不简单。任何帮助深表感谢!

编辑:可能的“绕行”

我正在查看这个文档:

https://developer.android.com/studio/build/application-id.html

我使用以下指令重命名应用程序 ID:

更改应用程序 ID(现在与包名称无关)可以非常轻松地一步完成。您不必接触 AndroidManifest。相反,请执行以下操作:右键单击项目的根文件夹。单击“打开模块设置”。转到“风味”选项卡。将 applicationID 更改为您想要的任何包名称。按确定。

正如在这里找到的:

在 Android Studio 中重命名包

所以我想知道,(新问题,仅相关问题)如果我像在这里那样重命名应用程序 ID 并且它仅在 gradle 构建文件中更改,这是否也适用于我的应用程序包名称以提交到应用程序商店作为共享应用程序?或者我是否需要完全重构包?

android android-studio intellij-14

7
推荐指数
1
解决办法
1万
查看次数

我正在转换日期,但它在月份上额外添加了一个点如何处理

我从移动设备获取当前时间并使用以下代码更改格式:

  SimpleDateFormat currentdate = new SimpleDateFormat("MMM,dd,yyyy HH:mm:ss s");
               date_n = currentdate.format(calendar.getTime());
Run Code Online (Sandbox Code Playgroud)

但是在某些移动设备上我得到以下输出

Mar.,11,2021 12:08:26 26
Run Code Online (Sandbox Code Playgroud)

Mar后面出现一个点。我不想要那个点。怎么处理呢?有什么指导方针吗?

java datetime android

4
推荐指数
1
解决办法
2546
查看次数

在 RecyclerView 底部添加空白区域

应用程序有一个不断增大的项目列表(回收器视图)。它的底部还有一个按钮,如果列表足够长,该按钮会遮挡列表。因此,我希望列表底部有一个空白区域,以便用户可以一直向下滚动,以便按钮只遮挡空白区域。可能不太容易想象我想要做什么,所以这里有一些图片:

短名单

长名单

我想要的是这样的:

解决方案

到目前为止,我想出的唯一解决方案是向回收器视图添加填充。但问题是,当用户一直向下滚动时,我只希望空白出现在列表底部。如果我向回收器视图添加填充,即使列表下方有项目,也会有空白区域。

所以我所拥有的是这样的:

隐藏物品

我还尝试在底部添加一个“Space”对象,但它实际上并不占用任何空间(我猜android只使用“Space”在对象之间插入空间,而不是在没有对象分离时使用)。

这是我的 xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".ui.MainActivity">

    <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/linearLayout">

        <androidx.appcompat.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="?attr/colorPrimary"
                android:theme="?attr/actionBarTheme"
                android:minHeight="?attr/actionBarSize"
                android:id="@+id/toolbar" />

        <androidx.recyclerview.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/recyclerView"
                android:paddingBottom="72dp">

        </androidx.recyclerview.widget.RecyclerView>

    </LinearLayout>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:src="@drawable/plus_thick"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:id="@+id/fab"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            android:layout_marginBottom="8dp"
            android:layout_marginEnd="8dp"
            android:contentDescription="Add item" />

</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout

4
推荐指数
1
解决办法
1571
查看次数

三星 A10 android 11 如何从我的应用程序以编程方式创建其他应用程序固定快捷方式

三星 A10 android 11 更新,Galaxy S9 和 Galaxy S10 在这些设备上进行了测试,但无法正常工作

此代码仅适用于 Android Oreo 及以上版本

这是我用于以编程方式在 android 中创建快捷方式的代码。在所有其他设备中,它工作得很好,但在这个特定设备上,它创建了简短的内容,但生成了我自己的应用程序快捷方式,但不符合要求。

val shortcutIntent = finalPackageName?.let {
            context?.packageManager!!.getLaunchIntentForPackage(
                it
            )
        }
        val shortcutManager: ShortcutManager? = context?.getSystemService(ShortcutManager::class.java)
        if (shortcutManager != null) {
            if (shortcutManager.isRequestPinShortcutSupported) {
                val shortcut = ShortcutInfo.Builder(context, "unique_id")
                    .setShortLabel(finalAppName)
                    .setLongLabel("Open the Android Docu")
                    .setIcon(Icon.createWithBitmap(finalBitmap))
                    .setIntent(shortcutIntent!!)
                    .build()

                ((activity) as MainActivity).registerReceiver(object : BroadcastReceiver() {
                    override fun onReceive(context: Context, intent: Intent) {
                        findNavController().navigate(R.id.resultFragment)
                        context.unregisterReceiver(this)
                    }
                }, IntentFilter("test_action"))

                val intent = Intent("test_action")
                val pendingIntent = PendingIntent.getBroadcast(context, 123, intent, …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-shortcutmanager android-11

4
推荐指数
1
解决办法
1181
查看次数

如何检查电话号码在android中是否有效

在我的应用程序的注册页面上,我有一个 OTP 检查。

我的问题是我想在发送 OTP 之前验证电话号码。

如何根据扩展名创建电话号码验证正则表达式(对于阿曼 +968,对于加拿大 +1)

我试过 PhoneNumberUtils.isGlobalPhoneNumber(phoneNumber); 用于验证电话号码的api。但是 api 总是返回 true。

例如,我已将“0”传递给 API,但它返回 true。

有没有更好的选择来验证带有国家分机代码的电话号码?

java android

1
推荐指数
1
解决办法
3227
查看次数