小编Hel*_*oCW的帖子

为什么getConfiguredNetworks()的SSID添加了引号?

我希望得到当前连接的WIFI的名称和存储的连接WIFI的名称.

我发现wifiInfo.getSSID()可以得到正确的结果,比如MyWiFi1,

但是config.SSID中的名称是引号,例如"MyWiFi2".

如何从config.SSID获取正确的名称?谢谢!

public static List<MWiFi> ListPhoneStoredWiFi(Context context) {
    List<MWiFi> myWiFiList= new ArrayList<MWiFi>();
    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 

    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    if (wifiInfo!=null){
        if (wifiInfo.getNetworkId()!=-1){
           MWiFi mWiFi=new  MWiFi();
           mWiFi.name=wifiInfo.getSSID();
           mWiFi.networkID=wifiInfo.getNetworkId();
           mWiFi.enabled=true;
           myWiFiList.add(mWiFi);
        }
    }

    // List stored networks
    List<WifiConfiguration> configs = wifiManager.getConfiguredNetworks();

    if (configs!=null){     
      for (WifiConfiguration config : configs) {
          if (config.networkId!=wifiInfo.getNetworkId()) {
             MWiFi mWiFi=new  MWiFi();
             mWiFi.name=config.SSID;
             mWiFi.networkID=config.networkId;
             mWiFi.enabled=true;                 
             myWiFiList.add(mWiFi);
          }
      }
    }   

    return myWiFiList;      
}
Run Code Online (Sandbox Code Playgroud)

android

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

Android Studio中"设置..."和"默认设置..."之间有什么区别?

我发现我可以在两个File|中设置文件编码和其他参数 Settings...,还有File| Other Settings| Default Settings....但是,我不清楚这两个选项之间的区别是什么.

此外,我可以运行File| Export Settings...将设置保存到settings.jar文件,但我不清楚如果我运行File|,将恢复什么 Import Settings...操作.

  • 两个设置选项有什么区别?
  • 运行导出/导入时导出/导入的设置是什么?

settings android-studio

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

在Android Studio中运行rebuild项目后会发生什么?

文档http://www.jetbrains.com/idea/help/rebuilding-project.html?search=reb只告诉我如何重建项目.

我不知道重建项目是什么意思(Menu --> Build --> Rebuild Project),它会清除所有编辑缓存吗?运行重建项目后,我发现项目的大小减少了吗?

在Android Studio中清除项目意味着什么?

android android-studio android-gradle-plugin

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

我可以比较Kotlin中两个浮点数是否相等?

以下代码来自https://kotlinlang.org/docs/reference/functions.html?q=&p=0

此代码计算余弦的固定点,这是一个数学常数.它只是从1.0开始重复调用Math.cos直到结果不再变化,结果为0.7390851332151607.

在我看来,我们无法比较两个浮点数是否相等,所以我认为结果if (x == y)总是假的,对吧?

private fun findFixPoint(): Double {
    var x = 1.0
    while (true) {
        val y = Math.cos(x)
        if (x == y) return y
        x = y
    }
}
Run Code Online (Sandbox Code Playgroud)

kotlin

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

我在哪里可以找到android studio中最新的gradle版本?

当我尝试构建项目1时,我收到以下错误.似乎gradle-3.0.0-beta6和gradle-3.0.0-beta9都不可用.

我在哪里可以找到android studio中最新的gradle版本?你能告诉我一个可以列出所有可用gradle版本的URL吗?

Error:Could not find com.android.tools.build:gradle:3.0.0-beta6.
Searched in the following locations:
    file:/E:/Android_Studio_3.1/gradle/m2repository/com/android/tools/build/gradle/3.0.0-beta6/gradle-3.0.0-beta6.pom
    file:/E:/Android_Studio_3.1/gradle/m2repository/com/android/tools/build/gradle/3.0.0-beta6/gradle-3.0.0-beta6.jar
    https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-beta6/gradle-3.0.0-beta6.pom
    https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-beta6/gradle-3.0.0-beta6.jar
Run Code Online (Sandbox Code Playgroud)

项目1

buildscript {
    ext.support_version =  '26.0.0'
    ext.kotlin_version = '1.1.4-3'
    ext.anko_version = '0.10.1'


    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:gradle-3.0.0-beta6'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin

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

在Android Studio 3.1.2中使用Anko从xml文件加载时是否有一种简单的方法来获取控件?

我创建了一个自定义Preference布局,并使用UIPreference.kt显示UI.

我可以简单地处理按钮btnCloseimport kotlinx.android.synthetic.main.layout_preference.*.

现在我希望简单地处理CheckBoxPreference chAutoRestore,但是布局是从xml\mypreference.xml加载的,我该怎么办?

目前,我必须使用该代码 val checkboxPref = preferenceManager.findPreference(getString(R.string.IsAutoRestore)) as CheckBoxPreference

UIPreference.kt

import kotlinx.android.synthetic.main.layout_preference.*

class UIPreference : AppCompatPreferenceActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.layout_preference)

        fragmentManager.beginTransaction().replace(R.id.content, MyPreferenceFragment()).commit()


         btnClose.setOnClickListener {
            finish()
        }


    }


    class MyPreferenceFragment : PreferenceFragment() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            addPreferencesFromResource(R.xml.mypreference)

            val checkboxPref = preferenceManager.findPreference(getString(R.string.IsAutoRestore)) as CheckBoxPreference

            checkboxPref.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { preference, newValue ->
                logError( "Pref " + preference.key + " changed to " + newValue.toString())
                true
            }

        }
    }

}
Run Code Online (Sandbox Code Playgroud)

layout_preference.xml …

android anko

6
推荐指数
0
解决办法
136
查看次数

当我使用 camerax "1.0.0-alpha06" 时,为什么 zoomRatio 会显示错误 Unresolved reference?

我已经阅读了文章。https://proandroiddev.com/android-camerax-tap-to-focus-pinch-to-zoom-zoom-slider-eb88f3aa6fc6

我将代码 A 添加到 officecamerx 示例中。 https://github.com/android/camera-samples/tree/master/CameraXBasic

示例代码使用camerax“1.0.0-alpha06”

我收到错误未解决的缩放比例参考,您可以看到图 1,我该如何解决?

代码 A

 private fun setUpPinchToZoom() {
        val cameraControl = CameraX.getCameraControl(lensFacing)
        val cameraInfo = CameraX.getCameraInfo(lensFacing)

        val listener = object : ScaleGestureDetector.SimpleOnScaleGestureListener() {
            override fun onScale(detector: ScaleGestureDetector): Boolean {
                val currentZoomRatio: Float = cameraInfo.zoomRatio.value ?: 0F
                val delta = detector.scaleFactor
                cameraControl.setZoomRatio(currentZoomRatio * delta)
                return true
            }
        }

        val scaleGestureDetector = ScaleGestureDetector(context, listener)

        viewFinder.setOnTouchListener { _, event ->
            scaleGestureDetector.onTouchEvent(event)
            return@setOnTouchListener true
        }
    }
Run Code Online (Sandbox Code Playgroud)

图 1 在此处输入图片说明

android-studio android-camerax

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

为什么作者在 Room with Android Jetpack 中定义了两个位置的表字段?

我正在学习 Android Jetpack,以下代码来自https://github.com/android/sunflower的示例项目。

GardenPlanting.kt代码是设计一个表格,我很奇怪,为什么笔者在二号位定义表中的字段,您将看到 @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "id")位于内之类的。

我认为代码 B 很容易理解,对吧?

GardenPlanting.kt

@Entity(
    tableName = "garden_plantings",
    foreignKeys = [
        ForeignKey(entity = Plant::class, parentColumns = ["id"], childColumns = ["plant_id"])
    ],
    indices = [Index("plant_id")]
)

data class GardenPlanting(
    @ColumnInfo(name = "plant_id") val plantId: String,

    @ColumnInfo(name = "plant_date") val plantDate: Calendar = Calendar.getInstance(),    

    @ColumnInfo(name = "last_watering_date")
    val lastWateringDate: Calendar = Calendar.getInstance()
) {
        @PrimaryKey(autoGenerate = true)
        @ColumnInfo(name = "id")
        var gardenPlantingId: Long = 0
}
Run Code Online (Sandbox Code Playgroud)

代码 …

android android-room android-jetpack

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

为什么作者要在 Room 数据库的某个字段上添加 @field:SerializedName 注解?

我正在通过https://github.com/googlecodelabs/android-paging上的示例代码学习 Room

代码A是定义@Entity一个表的a,大家可以看到

通常它将@ColumnInfo注释添加到字段中,例如 @ColumnInfo(name = "first_name") val firstName: String?, ....

为什么作者要给@field:SerializedNameRoom数据库的某个字段添加注解?

代码A

@Entity(tableName = "repos")
data class Repo(
    @PrimaryKey @field:SerializedName("id") val id: Long,
    @field:SerializedName("name") val name: String,
    @field:SerializedName("full_name") val fullName: String,
    @field:SerializedName("description") val description: String?,
    @field:SerializedName("html_url") val url: String,
    @field:SerializedName("stargazers_count") val stars: Int,
    @field:SerializedName("forks_count") val forks: Int,
    @field:SerializedName("language") val language: String?
)
Run Code Online (Sandbox Code Playgroud)

android android-room

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

当我使用 Jetpack Compose Navigation 时,导航图是否已过时?

在我在 Android Studio 项目中使用导航图之前,就像文章中所说的那样。

我使用位于文件夹中的 xml 文件res\navigation来包含我所有不同的目的地。

目前,我正在通过文章学习Jetpack Compose Navigation

代码A来自上面文章提到的官方示例项目。

Jetpack Compose Navigation 似乎使用代码 A 和其他代码进行导航,并且我在res\navigation文件夹中找不到任何 XML 文件。

1:当我使用 Jetpack Compose Navigation 时,导航图是否会被废弃?

res\navigation2:当我使用Jetpack Compose Navigation时,是否不需要再次使用位于文件夹中的导航图?

代码A

@Composable
fun RallyNavHost(navController: NavHostController, modifier: Modifier = Modifier) {
    NavHost(
        navController = navController,
        startDestination = Overview.name,
        modifier = modifier
    ) {
        composable(Overview.name) {
            OverviewBody(
                onClickSeeAllAccounts = { navController.navigate(Accounts.name) },
                onClickSeeAllBills = { navController.navigate(Bills.name) },
                onAccountClick = { name ->
                    navigateToSingleAccount(navController, name)
                },
            ) …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose

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