我想将 Withings 智能体重秤集成到我正在开发的 Android 应用程序中。我按照此处的withings 开发人员文档中的入门说明进行操作。为此,我需要在这里注册我的应用程序,它需要一个“回调 URL”。以下是 Withings 提供的回调 URL 的详细信息:
我们的系统调用合作伙伴 URL,通过 HTTP POST 请求发送通知。确保您的服务器可以处理用于验证 url 有效性的 HTTP HEAD 请求。
您的网址必须:
是一个有效的 URL,以 URL 编码字符串的形式提供。请参阅 w3schools URL 编码参考以了解有关 URL 编码的更多信息。
不超过 255 个字符。
都不包含 IP 或“localhost”。仅允许使用端口 80 和 443。
如何为能够接收 POST 请求的 Android 应用程序设置回调 URL?
我正在尝试创建一个简单的表单布局,它使用包含 LiveData 的 ViewModel 绑定到每个表单字段,以便输入的数据可以通过配置更改和后退导航(在多步表单的情况下)保持不变。此外,我有一个自定义表单字段视图,它有自己的布局 xml 来进行一些必需的处理。但是,我无法通过表单布局传递数据以绑定到自定义视图布局。
这是我的 ViewModel、Fragment、Field 对象及其布局的简化版本:
class FormViewModel : ViewModel() {
@Bindable val email = MutableLiveData<String>().apply { value = "" }
}
Run Code Online (Sandbox Code Playgroud)
class FormFragment : BaseFragment() {
private val formViewModel: FormViewModel by lazy {
ViewModelProviders.of(requireActivity()).get(FormViewModel::class.java)
}
override fun onCreateView(inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?) : View? =
(DataBindingUtil
.inflate(inflater, R.layout.fragment_form, container, false) as FragmentFormBinding)
.apply {
lifecycleOwner = requireActivity()
viewModel = formViewModel
}
.root
}
Run Code Online (Sandbox Code Playgroud)
class Field @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int …Run Code Online (Sandbox Code Playgroud) android android-custom-view android-databinding android-livedata android-architecture-components