小编Mis*_*ask的帖子

React-Native:重新安装应用程序后获取相同的唯一设备ID

我正在使用React-Native编写应用程序,并在重新安装应用程序后需要一些有关识别设备的帮助.

我需要的:

  • 为Android和iOS获取每个设备的唯一设备ID.
  • 即使用户卸载应用程序并再次安装,也应返回相同的ID.

最接近这个我过来是getUniqueID()在方法反应,本机设备信息.但是,如果重新安装应用程序,则会在iOS上返回不同的ID,因为此方法的返回值与供应商相关.

祝你有美好的一天!

uuid reinstall udid react-native

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

Android RecyclerView 不会以编程方式更改第一个项目的背景颜色

我正在创建一个带有RecyclerView. 每个列表项都是来自用户的帖子(现在是硬编码的)。每个帖子的背景都是从layer-list可绘制文件夹中的 XML 文件加载的。

文本等一切都按预期工作,但我正在尝试以编程方式更改背景颜色。它改变了每个项目的背景颜色,除了第一个项目,我不明白为什么。

第一项始终获取XML 文件中调用的内部solid颜色指定的背景颜色,因此不会更改,但后面的项获取 color 。shapeitemshape_background#ff22ff

这是适配器的实现:

class PostListAdapter extends RecyclerView.Adapter<PostListAdapter.PostViewHolder>{

    private LayoutInflater inflater;
    private List<PostRow> data = Collections.emptyList();

    PostListAdapter(Context context, List<PostRow> data) {
        inflater = LayoutInflater.from(context);
        this.data = data;
    }

    @Override
    public void onBindViewHolder(PostViewHolder holder, int position) {

        PostRow current = data.get(position);
        holder.text.setText(current.text.toUpperCase());
        holder.time.setText(current.time.toUpperCase());
        holder.answers.setText(current.answers.toUpperCase());

        try {
            // "#ff22ff" will be changed to current.color, unique color for every post
            // That string is parsed …
Run Code Online (Sandbox Code Playgroud)

android shapes layer-list android-recyclerview gradientdrawable

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

RxJava - 等待Observable <List <Service >>中的所有服务'Observable <Boolean>

我正在尝试建立一个监督是否所有服务Obsevable<List>都已准备就绪的经理.

代码的一般概念看起来类似于:

public class ServiceStuff {

    public interface Service {
        String getName();

        Observable<Boolean> monitorReady();
    }

    private BehaviorSubject<List<Service>> services = BehaviorSubject.createDefault(Collections.emptyList());

    ServiceStuff(List<Service> list) {
        services.onNext(list);
    }

    public void addService(Service service) {
        List<Service> newList = services.getValue();
        newList.add(service);
        services.onNext(newList);
    }

    public void removeService(Service service) {
        List<Service> newList = services.getValue();
        newList.remove(service);
        if (newList.remove(service)) {
            services.onNext(newList);
        }
    }

    public Observable<List<Service>> monitorServices() {
        return services.observeOn(AndroidSchedulers.mainThread());
    }

    public Observable<Boolean> monitorServicesReady() {
        return [If monitorReady() for all services return true, emit true, else false]
    }

} …
Run Code Online (Sandbox Code Playgroud)

java android reactive-programming rx-java rx-java2

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