小编abk*_*kds的帖子

RestAdapter(改装)没有在android中解析

所以我正在尝试将Retrofit用于我的项目.由于该网站说,我已经包含 compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'build.gradle.我正在阅读此链接中的教程.我想做类似这样的事情

final RestAdapter restadapter = new RestAdapter.Builder().setEndpoint("http://services.hanselandpetal.com").build();

        api flowerapi = restadapter.create(api.class);

        flowerapi.getData(new Callback<List<Flower>>() {
            @Override
            public void success(List<Flower> flowers, Response response) {
                flowerList = flowers;
                adapter adapt = new adapter(getApplicationContext(),R.layout.item_file,flowerList);
                //ListView listView = (ListView) findViewById(R.id.list);
                setListAdapter(adapt);
            }
Run Code Online (Sandbox Code Playgroud)

在我的项目中,即调用API.但是,restadapter只是没有得到resolved.简单地说,在它上面盘旋它symbol can't be resolved.这里发生了什么?

android retrofit

27
推荐指数
3
解决办法
3万
查看次数

在Retrofit中使用Call Enqueue功能

我正在使用Retrofit-2.0.0我的应用程序.现在我在网上发现的每一个关于Retrofit的教程都是基于早期的Retrofit,那里没有Call<T>接口.这是我第一次使用Retrofit而且我一再得到null object reference.这是我的网络模型界面

public interface TMovieDBService {
    @GET("/movie")
    Call<MovieResponse> getMovieResponse(@Query("sort_by") String sortKey,
                             @Query("api_key") String apiKey);
}
Run Code Online (Sandbox Code Playgroud)

这是我updateMovies()更新电影列表的功能.

void updateMovies() {
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://api.themoviedb.org/3/discover")
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    String sortKey = "popularity.desc";
    TMovieDBService service = retrofit.create(TMovieDBService.class);

    Call<MovieResponse> call = service.getMovieResponse(sortKey, ApiKey.API_KEY);

    call.enqueue(new Callback<MovieResponse>() {
        @Override
        public void onResponse(Response<MovieResponse> response) {
            Log.d(LOG_TAG, "Reached this place");
            if (!response.isSuccess()) {
                Log.d(LOG_TAG, "No Success");
            }
            mMovieList = response.body().getMovies();  // <- response is null here …
Run Code Online (Sandbox Code Playgroud)

android retrofit

17
推荐指数
2
解决办法
4万
查看次数

比较器链在java中

在接口上阅读Oracle教程,Card(扑克牌)上给出一个例子,我试图理解接口中默认方法.这是链接 "在现有接口中集成默认方法"部分.现在在最后一节中,他们首先按照等级然后按套装对卡片进行排序.已经给出了逻辑.假设已经定义了所使用的任何接口,函数或类,并且sort函数需要aComparator

逻辑1:

package defaultmethods;

import java.util.*;
import java.util.stream.*;
import java.lang.*;

public class SortByRankThenSuit implements Comparator<Card> {
    public int compare(Card firstCard, Card secondCard) {
        int compVal =
            firstCard.getRank().value() - secondCard.getRank().value();
        if (compVal != 0)
            return compVal;
        else
            return firstCard.getSuit().value() - secondCard.getSuit().value(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

逻辑2:

myDeck.sort(
    Comparator
        .comparing(Card::getRank)
        .thenComparing(Comparator.comparing(Card::getSuit)));
Run Code Online (Sandbox Code Playgroud)

现在我在理解第二个逻辑时遇到了一些问题.我阅读了比较器接口和Java 1.8中包含的新静态方法.现在我理解类似于myDeck.sort(Comparator.comparing(Card::getRank))按排名排序但是在阅读完文档thenComparing之后,我无法理解thenComparing返回a 如何Comparator实现上述逻辑1.它是否在内部构建类似于if-else逻辑1中指定的构造?

java comparator java-8

10
推荐指数
2
解决办法
6046
查看次数

python中的map方法

class FoodExpert:
    def init(self):
        self.goodFood = []
    def addGoodFood(self, food):
        self.goodFood.append(food)
    def likes(self, x):
        return x in self.goodFood
    def prefers(self, x, y):
        x_rating = self.goodFood.index(x)
        y_rating = self.goodFood.index(y)
        if x_rating > y_rating:
            return y
        else:
            return x
Run Code Online (Sandbox Code Playgroud)

在声明这个类之后,我编写了这段代码:

>>> f = FoodExpert()
>>> f.init()
>>> map(f.addGoodFood, ['SPAM', 'Eggs', 'Bacon', 'Rat', 'Spring Surprise'])
[None, None, None, None, None]

>>> f.goodFood
['SPAM', 'Eggs', 'Bacon', 'Rat', 'Spring Surprise']
Run Code Online (Sandbox Code Playgroud)

我无法理解地图功能如何在幕后工作,为什么它会返回一个包含所有的列表None,但是当我检查f.goodFood元素是否已添加到那里?

python functional-programming list

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

在bootloader中远程跳转gdt

flush_gdt:
    lgdt [gdtr]
    jmp 0x08:complete_flush

complete_flush:
    mov ax, 0x10
    mov ds, ax
    mov es, ax
    mov fs, ax
    mov gs, ax
    mov ss, ax
    ret
Run Code Online (Sandbox Code Playgroud)

我无法理解这段代码的作用.flush_gdt是一个标签好,然后lgdt [gdtr]48-bit指针加载到gdtr寄存器中,然后从中加载jmp 0x08:complet_flush.

jmp指令有什么作用?然后我们为什么要将0x10移动到ax,然后移动到其他寄存器

x86 assembly bootloader gdt

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

size_type和int之间的区别

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<double> student_marks(20);

    for (vector<double>::size_type i = 0; i < 20; i++)
    {
        cout << "Enter marks for student #" << i+1 
            << ": " << flush;
        cin >> student_marks[i];
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在某个地方读到,最好用size_type它代替int.它是否真的对实施产生了巨大影响,使用的积极因素是size_type什么?

c++ stl vector

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

在Pytorch(1.0)中具有类似外观的不同`grad_fn`

我正在开发一个注意力模型,在运行最终模型之前,我正在遍历代码的张量形状。我有一个需要重整张量的操作。张量是形状的torch.Size([[30, 8, 9, 64]]) 地方30batch_size8是(这是不相关的我的问题)注意头的数量9是在一句话的数量,64这个词的一些中间嵌入表示。torch.size([30, 9, 512])在进一步处理之前,我必须将张量重塑为的大小。因此,我在网上查找一些参考资料,他们做了以下工作,x.transpose(1, 2).contiguous().view(30, -1, 512) 而我认为这应该可行x.transpose(1, 2).reshape(30, -1, 512)

在第一种情况下是grad_fnis <ViewBackward>,而在我的情况下是<UnsafeViewBackward>。这两个操作不一样吗?这会导致训练错误吗?

python attention-model pytorch

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

Printf函数参数

#include <stdio.h>

int main()
{
    printf(5 + "abhishekdas\n") ;
    return 0 ;
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出是hekdas.它是如何工作的?它不应该显示错误吗?如何编写5 + "abhishekdas"内部printf函数之类的东西?

c printf

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

了解节标题ELF

static inline Elf32_Shdr *elf_sheader(Elf32_Ehdr *hdr) {
    return (Elf32_Shdr *)((int)hdr + hdr->e_shoff);
}

static inline Elf32_Shdr *elf_section(Elf32_Ehdr *hdr, int idx) {
    return &elf_sheader(hdr)[idx];
}
Run Code Online (Sandbox Code Playgroud)

好的,这里的第一个函数通过使用返回指向elf节头的指针,hdr_shoff因为这是第一节头的偏移量.现在,第二个函数用于通过使用数组索引来访问更多节标题(如果有的话).

static inline char *elf_str_table(Elf32_Ehdr *hdr) {
    if(hdr->e_shstrndx == SHN_UNDEF) return NULL;
    return (char *)hdr + elf_section(hdr, hdr->e_shstrndx)->sh_offset;
}

static inline char *elf_lookup_string(Elf32_Ehdr *hdr, int offset) {
    char *strtab = elf_str_table(hdr);
    if(strtab == NULL) return NULL;
    return strtab + offset;
}
Run Code Online (Sandbox Code Playgroud)

我遇到上述两个用于访问节名称的函数的问题.e->shstrndx是字符串表的索引.所以在elf_str_table我们首先检查它SHN_UNDEF.但是return我不明白那hdr->e_shstrndx是字符串表的索引,如何将该索引添加到elf_section标头的起始地址,给出另一个elf节标题(因为我们正在使用它访问sh_offset).我的困惑是它e->shstrndx …

c elf

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

MIPS流水线处理器项目

好的,这个问题更多的是讨论.我有这个实现pipelined MIPS处理器的项目VHDL.

我完全熟悉流水线的概念,但我从未实现过VHDL.有什么好的资源,以学习落实pipelined processorsVHDL.

我需要一个良好的开端?

mips vhdl pipelining

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

无法理解__syncthreads()

这本书引用:

在CUDA中,__syncthreads()语句(如果存在)必须由块中的所有线程执行.当a __syncthreads()放在一个if语句中时,块中的所有线程都会执行包含__syncthreads()或不包含它们的路径.对于if-then-else语句,如果每个路径都有一个__syncthreads()语句,则块中的所有线程都在路径__syncthreads()上执行,或者所有线程then都执行该else路径.这两个__syncthreads()是不同的屏障同步点.如果块中的线程执行then路径而另一个线程执行else路径,则它们将在不同的屏障同步点处等待.他们最终会永远等待对方.程序员有责任编写代码以满足这些要求.

没有给出例子ifif-else-then案例,所以我无法理解这个概念.请用简单的话语解释我的情况.

PS:我是并行编程和CUDA的初学者.

提前致谢 .

c parallel-processing cuda nvidia

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